我正在尝试按照这些说明安装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

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


当前回答

遇到了同样的问题。你必须源shell文件以及改变nvm的默认版本。

首先,源~/.nvm/nvm.sh。

其次,更改nvm的默认版本。

nvm alias default 16.14.2

如果你不改变nvm的默认版本,当你切换到另一个iTerm选项卡时,你会发现节点版本保持不变。

其他回答

需要注意的是,nvm是“实现为posix兼容的函数”,正如它在nvm.sh脚本文件的顶部所述。这意味着在您的路径中没有nvm文件,因此您无法使用which命令验证nvm是否存在。相反,应该使用nvm——version,并验证是否得到了预期的输出。

malderete-ltm:~ malderete$ nvm --version
0.38.0
malderete-ltm:~ malderete$ which nvm
malderete-ltm:~ malderete$ which node
malderete-ltm:~ malderete$ nvm install --lts
Installing latest LTS version.
Downloading and installing node v14.17.5...
Downloading https://nodejs.org/dist/v14.17.5/node-v14.17.5-darwin-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v14.17.5 (npm v6.14.14)
Creating default alias: default -> lts/* (-> v14.17.5)
malderete-ltm:~ malderete$ nvm use --lts
Now using node v14.17.5 (npm v6.14.14)
malderete-ltm:~ malderete$ which node
/Users/malderete/.nvm/versions/node/v14.17.5/bin/node

(作为一个只有半命令行知识的人,我依靠肌肉记忆来判断哪个命令。使用nvm——version在说明中,但如果你像我一样白痴,你可能会错过/跳过这部分,并下意识地使用哪个nvm,并认为nvm没有安装。)

假设你已经使用brew安装了nvm(我在mac上),我的意思是像brew安装nvm这样的东西,你所需要做的就是:

 1. You should create NVM's working directory if it doesn't exist:

  mkdir ~/.nvm

 2. Add the following to ~/.zshrc or your desired shell configuration
    file:

      export NVM_DIR="$HOME/.nvm"
      [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
      [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

检查您的.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

与问题没有直接联系,但可能会发生类似的问题,看看这个问题:无法从new bash执行nvm


以下是我对那篇文章的回答,仅供参考:

如果您正在从一个新的bash实例运行,并且您的~/。bashrc,(~ /。Bash_profile等,然后需要检查这个初始化文件中的条件。

在Ubuntu 14上,有一个:

case $- in
    *i*) ;;
      *) return;;
esac

在第6行,如果bash没有使用“-i”(交互式)标志运行,将暂停它的执行。所以你需要运行:

bash -i

此外,在文件的末尾,有一个

[ -z "$PS1" ] && return

如果没有使用$PS1设置运行(就像在远程ssh会话上),这将停止它的执行。

如果您不希望添加任何env变量或标志,则需要从初始化文件中删除这些条件。

希望这对大家有帮助。

我认为你错过了这一步:

source ~/.nvm/nvm.sh

您可以在bash上运行此命令,也可以将其放在文件/中。Bashrc或~/。Profile或~/。ZSHRC自动加载它

https://github.com/creationix/nvm