我正在尝试按照这些说明安装NVM

我在终端输入了这个命令:

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh

运行install后,重启终端并尝试使用以下命令安装Node.js:

$ nvm install 0.8

但我得到的回答是:

-bash: nvm: command not found

我不知道我哪里做错了。

额外的信息,

我一直在其他帖子和论坛中寻找解决方案。我找到了另一个解决办法

$ git clone git://github.com/creationix/nvm.git ~/.nvm

但是每次我尝试的时候,这个就会超时。任何帮助都将不胜感激。谢谢。


当前回答

在macOS中,我必须使用source ~/.nvm/nvm.sh命令来修复这个问题。

在那之后,加上这些线条

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

到~ /。Bash_profile,以便在登录时自动获取NVM。

其他回答

检查您的.bash_profile、.zshrc或.profile文件。您很可能在安装过程中遇到了问题。

您应该在其中一个文件的末尾看到以下内容。

[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh  # This loads NVM

的。$HOME/.nvm/nvm.sh与源文件$HOME/.nvm/nvm.sh相同

参见:源文件

您还可以检查是否有.nvm文件夹。

ls -a | grep .nvm

如果您缺少该文件夹,则安装运行git命令失败。这可能是由于背后的代理。试着运行下面的程序。

git clone http://github.com/creationix/nvm.git .nvm

我已经解决了这个问题。

联系~ / . bash_profile 开放的~ / . bash_profile pasteexport NVM_DIR = " $ HOME / .nvm” [-s "$NVM_DIR/nvm.sh"] && \。"$NVM_DIR/nvm.sh [-s "$NVM_DIR/bash_completion"] && \。"$NVM_DIR/bash_completion" #加载nvm bash_completion

因为这个问题在我搬家时已经解决了

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

到.zshrc的末尾

nvm install脚本默认将初始化代码添加到$HOME/。配置文件,它只由登录shell加载(在桌面环境中,您可能永远不会看到登录shell)。

登录shell中的nvm命令不会传播到子shell(如登录后的控制台窗口和IDE终端)。这个片段在你的$HOME/。Bashrc只会加载NVM,如果它是一个交互式shell并且还没有被加载

# if nvm dir is not set and the standard nvm directory exists
if [ -z "$NVM_DIR" -a -d "$HOME/.nvm" ] ; then
# set nvm dir
  export NVM_DIR="$HOME/.nvm"
fi

# if nvm dir is set and this shell is interactive
if [ -d "$NVM_DIR" -a -n "$PS1" ] ; then
  # if nvm command is not defined
  if ! type -t nvm >/dev/null ; then
    # set it
    source "$NVM_DIR/nvm.sh"
  fi
fi

把这个放在$HOME/。Bashrc文件将修复交互式bash shell中缺少NVM的问题,即使是从gui,即使NVM安装在非标准位置。

对我来说,这很有效。 首先检查文件.bashrc是否有以下一行

[s“$NVM_DIR/nvm.sh”]&&a。“$NVM_DIR/nvm.sh

现在为每个终端会话加载bashrc。因此,重新启动终端,以便再次加载它,您应该可以继续运行。