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

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


当前回答

OSX 10.15.0 Catalina(2019年11月发布)将默认shell更改为zsh。

默认shell以前是bash。

nvm GitHub页面上给出的安装命令需要调整,以在末尾包含“zsh”。

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | zsh

注意:你可能需要确保zsh的.rc文件预先存在:

touch ~/.zsrhrc

其他回答

随着时间的推移,nvm(来自homebrew)改变了安装后的说明。

我在新计算机上找不到nvm_find_nvmrc,直到我替换

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

with

[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

正确地找到了安装位置。

在Debian上,以及添加以下行到我的.bash_profile正如上面的答案之一所说。我还不得不打开我的终端首选项(编辑->配置文件首选项->命令),并启用“运行命令作为登录shell”,以使其工作。

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

编辑:对于Mac用户,请注意macOS在终端启动时不读取.bashrc,因此使用.bash_profile更可取。在这里看到的。

使用以下代码

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash`
source ~/.nvm/nvm.sh`
nvm install 0.8

在花了3个多小时测试上面的一些解决方案后,我找到了一个对我有用的答案。 我在Ubuntu 20.04.3 LTS下,并在新的安装中添加了官方命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | 
bash

问题是我的curl版本是通过snap获得的。删除它并重新安装它,根据这个答案修复了这个问题:

sudo snap remove curl
sudo apt install curl
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh 
| bash
nvm install node

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安装在非标准位置。