节点版本管理器安装 - 找不到nvm命令

时间:2013-06-03 19:46:18

标签: node.js terminal nvm

我正在尝试按照这些instructions

安装NVM

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

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

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

$ nvm install 0.8

但我收到了回复:

-bash: nvm: command not found

我不确定我在这里做错了什么。

其他信息 -

我一直在寻找其他帖子和论坛的解决方案。我找到了另一种使用

的解决方案
$ git clone git://github.com/creationix/nvm.git ~/.nvm

但每次尝试时都会超时。任何帮助,将不胜感激。感谢。

26 个答案:

答案 0 :(得分:445)

我想你错过了这一步:

source ~/.nvm/nvm.sh

您可以在bash上运行此命令,或者您可以将其放在文件/.bashrc或〜/ .profile中以自动加载它

https://github.com/creationix/nvm

答案 1 :(得分:254)

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

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

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

. $HOME/.nvm/nvm.shsource $HOME/.nvm/nvm.sh

相同

请参阅:Sourcing a File

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

ls -a | grep .nvm

如果您丢失该文件夹,则安装无法运行git命令。这可能是由于落后于代理。请尝试运行以下内容。

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

答案 2 :(得分:40)

这对我有用:

  1. 在安装nvm之前,请在终端中运行:touch ~/.bash_profile

  2. 之后,在终端中运行:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

  3. 重要... - 不要忘记重新启动您的终端使用命令source ~/.nvm/nvm.sh (这将刷新系统路径中的可用命令。)

  4. 在终端中,使用命令nvm --version,您应该看到版本

答案 3 :(得分:36)

source ~/.nvm/nvm.sh将此行添加到〜/ .bashrc,〜/ .profile或〜/ .zshrc

答案 4 :(得分:29)

快速回答

弄清楚以下内容:

  1. 您的终端使用哪个shell,输入:echo $0以查找(通常有效)
  2. 在启动(NOT 登录shell启动文件,正常的 shell启动文件)时,哪个启动文件会加载shell,这是有区别的! )
  3. source ~/.nvm/nvm.sh添加到该文件中(假设该位置存在该文件,它是默认安装位置)
  4. 开始新的终端会话
  5. 利润?
  6. 实施例

    正如您所看到的那样,zsh而不是bashenter image description here

    要解决此问题,我需要将source ~/.nvm/nvm.sh添加到~/.zshrc文件,因为在启动新终端时,我的Deepin Terminal zsh会读取~/.zshrc而不是bash ~/.bashrc

    为什么会发生这种情况

    这是因为在安装NVM时它会将代码添加到~/.bashrc,因为我的终端Deepin终端使用zsh而不是bash它永远不会读取~/.bashrc因此永远不会加载NVM

    换句话说:这是NVM的错误。

    zsh的更多信息可以在其中一个答案here上阅读。

答案 5 :(得分:20)

在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。

答案 6 :(得分:15)

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

默认的shell以前是bash。

需要对nvm GitHub page上给出的安装命令进行调整,使其末尾包含“ zsh”。

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

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

touch ~/.zsrhrc

答案 7 :(得分:7)

首先在〜/ .bashrc文件中添加以下行

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

然后打开终端并获取nvm.sh脚本

source ~/.nvm/nvm.sh

答案 8 :(得分:5)

与问题没有直接关联,但可能会出现类似的问题,请看一下这个问题:Can't execute nvm from new bash

以下是我在该帖子上的回答,仅供参考:

如果你是从一个新的bash实例运行,并且在〜/ .bashrc,〜/ .bash_profile等上有初始化代码,那么你需要检查这个初始化文件是否有条件。

在Ubuntu 14上,有一个:

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

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

bash -i

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

[ -z "$PS1" ] && return

如果没有设置$ PS1(就像在远程ssh会话上一样),那将暂停执行。

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

希望这有帮助。

答案 9 :(得分:4)

将以下行添加到文件~/.bashrc~/.bash_profile

# NVM changes
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

然后重新启动终端或执行source ~/.bashrcsource ~/.bash_profile。如果您需要nvm的命令完成,那么还要添加以下行:

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

以及~/.bashrc~/.bash_profile的上述行。

答案 10 :(得分:4)

如果您使用的是OS X,则可能必须在运行安装命令之前创建.bash_profile文件。这样做对我来说。

创建个人资料文件

touch ~/.bash_profile

重新运行安装,这次你会在输出中看到相关的一行。

  

=>将源字符串附加到/ Users / {username} / .bash_profile

重新加载您的个人资料(或关闭/重新打开终端窗口)。

.  ~/.bash_profile

答案 11 :(得分:3)

对于MacOS;

在终端上运行>

open ~/.bash_profile

全部粘贴=

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

答案 12 :(得分:3)

我遇到了同样的问题,挽救了我的命的句子是“您可能必须添加多个到〜/ .bashrc,〜/ .profile或〜/ .zshrc文件中”。仅在我的.bashrc中,我将其添加到文件“ .bash_profile”和“ .profile”中并为我工作。

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

答案 13 :(得分:2)

我已经解决了这个问题。

  1. touch~ / .bash_profile
  2. open~ / .bash_profile
  3. 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

答案 14 :(得分:2)

这个问题的所有答案都很有用。尤其是特拉维斯给出的答案帮助了我。对于Mac OS X用户,我想提供一些步骤,以帮助他们使用Node Version Manager a.k.a.nvm的全新安装。

安装&在Mac OS X上使用nvm

以下是全新安装nvm并使用它而没有任何问题的步骤:

  • here安装自制软件。
  • 使用自制软件安装nvm

    brew update brew install nvm

  • .nvm位置创建~/.nvm目录。

    mkdir ~/.nvm

  • 现在,如果您没有为OS X终端设置.bash_profile文件,请在根级创建.bash_profile

    nano ~/.bash_profile

  • 粘贴.bash_profile中的代码,然后按CTRL + O并按Enter键保存.bash_profile文件。按CTRL + X退出编辑器:

    export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh

  • 现在要完全(CMD + Q)终端或运行以下命令来加载.bash_profile设置:

    source ~/.bash_profile

  • 现在运行nvm ls命令以获取所有已安装的nodejs版本的列表。

答案 15 :(得分:2)

因为我搬家时问题已经解决

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

的末尾

答案 16 :(得分:2)

默认情况下,nvm安装脚本会向您的$HOME/.profile添加初始化代码,该代码仅由登录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安装在非标准位置。

答案 17 :(得分:2)

对于Mac OS:

  1. 打开终端
  2. 运行touch ~/.bash_profile
  3. 运行vi ~/.bash_profile
  4. 键入source ~/.nvm/nvm.sh
  5. Shift + Esc并键入wq,然后按enter
  6. 完成。

答案 18 :(得分:1)

在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。 See Here.

答案 19 :(得分:1)

对于我的情况,因为我使用。如果我没有启动 fish ,只需输入nvm就不会出现错误。

答案 20 :(得分:1)

有同样的问题,但这对我有用:

自macOS 10.15起,默认外壳为zsh,并且nvm将寻找.zshrc进行更新,默认情况下未安装。触摸~/.zshrc创建一个,然后再次运行安装脚本。

此处有更多信息:Troubleshooting on macOS

答案 21 :(得分:0)

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

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

现在为每个终端会话加载bashrc。因此,重新启动终端,使其再次加载,你应该好好去。

答案 22 :(得分:0)

Windows 8.1 x64同样发生在我身上,并收到以下消息。

  

nvm install 8.3.0 bash:nvm:command not found windows

因此,请按照以下步骤进行操作 -

首先从coreybutler/nvm-windows安装github.com。目前可用的最新版本1.1.5 nvm-setup.zip,稍后提取设置nvm-setup.exe并安装如下位置:

NVM_HOME    : C:\Users\Administrator\nvm
NVM_SYMLINK : C:\Program Files\nodejs

同时设置会将环境变量管理为Path,如上所述。

现在以管理员身份运行Git Bash ,然后

$ nvm install 8.3.0 all

Downloading node.js version 8.3.0 (64-bit)...
Complete
Creating C:\Users\Administrator\nvm\temp

Downloading npm version 5.3.0... Complete
Installing npm v5.3.0...

Installation complete. If you want to use this version, type

nvm use 8.3.0

$ nvm use 8.3.0
Now using node v8.3.0 (64-bit)

这里运行你的命令而不使用前缀$,这里只是将它确定为命令行,现在我们将验证nvm版本。

$ nvm --version
Running version 1.1.5.

Usage:
-----------------------

如果使用nvm安装node时遇到问题,可以在nodejs查看此可用https://nodejs.org/download/release/版本列表,并根据您的要求版本选择正确的安装程序等于或高于v6.3.0

答案 23 :(得分:0)

我最近也遇到了同样的问题,使用source~ / .nvm / nvm.sh来解决nvm bash脚本解决了这个问题。

答案 24 :(得分:0)

使用以下代码

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

答案 25 :(得分:0)

尝试了多个步骤之后,不确定我的问题是什么,但是运行此命令有帮助:

touch ~/.bash_profile
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

nvm --version

验证

nvm -v output