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

jor*_*dan 253 terminal node.js nvm

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

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

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh
Run Code Online (Sandbox Code Playgroud)

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

$ nvm install 0.8
Run Code Online (Sandbox Code Playgroud)

但我得到了回应:

-bash: nvm: command not found
Run Code Online (Sandbox Code Playgroud)

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

附加信息 -

我一直在寻找其他帖子和论坛的解决方案.我找到了另一个解决方案

$ git clone git://github.com/creationix/nvm.git ~/.nvm
Run Code Online (Sandbox Code Playgroud)

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

Dee*_*ane 531

我想你错过了这一步:

source ~/.nvm/nvm.sh
Run Code Online (Sandbox Code Playgroud)

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

https://github.com/creationix/nvm

  • 把它加到〜/ .bash_profile中对我有用 (6认同)
  • 让我们更好地制作文档.我在nvm repo上创建了一个问题:https://github.com/creationix/nvm/issues/748 (4认同)
  • 我多次手动执行此操作,直到最终将其放入我的.bashrc中! (3认同)
  • 这对我有用,但是要使其自动化,我必须先创建配置文件。“触摸〜/ .profile”,“打开〜/ .profile”,粘贴上方,保存并关闭。现在可以在新窗口中使用 (2认同)
  • 这是对我有用的缺失行..我花了几个小时试图弄清楚如何修复尝试部署我的 firebase 云功能时遇到的权限错误..如果您遇到权限错误 - 我建议卸载节点然后重新安装 nvm - 并且不要忘记这行代码,您将需要它..谢谢... - 帮助我卸载它的网站 - https://stackabuse.com/how-to-uninstall-node -js-来自-mac-osx/ (2认同)
  • 这对我有用。我在`〜/ .zshrc`中添加了`source〜/ .nvm / nvm.sh`,现在`nvm`每次都可以工作 (2认同)

tra*_*vis 299

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

您应该在其中一个文件的末尾有以下内容.

[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh  # This loads NVM
Run Code Online (Sandbox Code Playgroud)

. $HOME/.nvm/nvm.sh是一样的source $HOME/.nvm/nvm.sh

请参阅:采购文件

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

ls -a | grep .nvm
Run Code Online (Sandbox Code Playgroud)

如果您缺少该文件夹,则安装无法运行git命令.这可能是由于落后于代理.请尝试运行以下代码.

git clone http://github.com/creationix/nvm.git .nvm
Run Code Online (Sandbox Code Playgroud)

  • 也有行,但'source~/.nvm/nvm.sh'有效 (15认同)
  • 将 nvm 配置放入 `.zshrc` 帮助我解决它。谢谢 (7认同)
  • 您可能还需要`source .bashrc`或`source .profile`,具体取决于 (3认同)
  • `.nvm` 应该是一个目录。它是通过以下命令“git clone git://github.com/creationix/nvm.git $NVM_TARGET”安装的。您之前说过您尝试自己运行该命令但它失败了?很可能您在代理后面并且可能没有配置。尝试运行以下命令。`git clone http://github.com/creationix/nvm.git .nvm` (2认同)
  • 如果.nvm文件夹为空,则可能是因为未获取xcode协议许可证而导致获取存储库失败.运行`sudo xcodebuild -license`并接受许可证(通过推送`space`来达到许可证的最后并同意其条款)就可以了. (2认同)

Ali*_*eza 59

这对我有用:

  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)不要忘记重启终端密钥组件!这就是我不工作的原因.谢谢 (7认同)

小智 40

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

  • 这是持久化多个shell或shell会话的"永久"解决方案. (4认同)
  • 在Mac OS 10.12.6上,对我来说是.bash_profile. (3认同)

Pro*_*ton 40

在MacBook Pro上安装nvm时,我遇到了类似的问题。

我最初使用brew安装了nvm :

brew install nvm
Run Code Online (Sandbox Code Playgroud)

但是当我运行命令时:

nvm --version
Run Code Online (Sandbox Code Playgroud)

我收到错误:

zsh nvm:找不到命令

这是我修复它的方法

nvm使用brew安装不足以使其正常工作。您还需要执行以下操作;

  • 确认源~/.zshrc~/.bash_profile~/.profile~/.bashrc文件存在:

    zsh: ~/.zshrc
    
    bash: ~/.bashrc
    
    ksh: ~/.profile
    
    Run Code Online (Sandbox Code Playgroud)

    否则使用以下命令创建它:

    touch ~/.zshrc
    
    touch ~/.bashrc
    
    touch ~/.profile
    
    Run Code Online (Sandbox Code Playgroud)
  • 接下来,运行以下命令之一:

    注意:您可以检查下面引用的链接以获取更新的命令。

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    
    Run Code Online (Sandbox Code Playgroud)

    或者

    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    
    Run Code Online (Sandbox Code Playgroud)

    注意:运行上述任一命令都会下载脚本并运行它。该脚本将nvm存储库克隆到~/.nvm,并尝试将下面代码片段中的源行添加到正确的配置文件(~/.bash_profile~/.zshrc~/.profile~/.bashrc

    export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm.
    
    Run Code Online (Sandbox Code Playgroud)

您可以检查下面引用的链接以获取更新的脚本。

参考安装和更新 NVM


Kar*_*son 33

快速回答

弄清楚以下内容:

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

你可以看到它陈述zsh而不是bash. 在此输入图像描述

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

为什么会这样呢?

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

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

更多关于zsh可以在其中一个答案可以读取这里.

  • 您可以简单地将 zsh 放在 curl 命令的末尾。例如:curl https://raw.github.com/creationix/nvm/master/install.sh | zsh (2认同)

小智 27

假设你已经使用brew安装了nvm(我在mac上),我的意思是类似的brew install 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
Run Code Online (Sandbox Code Playgroud)


qin*_*127 23

遇到同样的问题。您必须获取 shell 文件并更改 nvm 的默认版本。

第一的,source ~/.nvm/nvm.sh

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

nvm alias default 16.14.2
Run Code Online (Sandbox Code Playgroud)

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


hd8*_*335 21

在macOS中,我必须使用source ~/.nvm/nvm.sh命令来解决此问题.

之后,添加这些行

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
Run Code Online (Sandbox Code Playgroud)

~/.bash_profile使NVM将在登录后自动加载.


Ben*_*Ben 19

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
Run Code Online (Sandbox Code Playgroud)

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

touch ~/.zsrhrc
Run Code Online (Sandbox Code Playgroud)


KAR*_*N.A 11

首先在〜/ .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
Run Code Online (Sandbox Code Playgroud)

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

source ~/.nvm/nvm.sh
Run Code Online (Sandbox Code Playgroud)


Khu*_*ari 9

  1. 打开终端
  2. 如果您有 zsh 终端,请输入命令“open ~/.zshrc”
  3. 添加文件末尾并保存以下内容:source ~/.nvm/nvm.sh


Yun*_* ER 8

对于 MacOS;

在终端上运行 >

open ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

粘贴所有这些=

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
Run Code Online (Sandbox Code Playgroud)


小智 8

我有同样的问题,救了我一命的是这句话“你可能需要添加多个你的”~/.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
Run Code Online (Sandbox Code Playgroud)

  • 是的,重新启动终端或在相应的 shell 中运行以下命令: bash: `source ~/.bashrc` zsh: `source ~/.zshrc` ksh: `。〜/.profile` (4认同)
  • 啊!我只需要重新启动终端即可!谢谢! (2认同)

cha*_*qke 8

随着时间的推移,nvm(来自自制程序)更改了其安装后指令。

我正在使用nvm_find_nvmrc not found一台新计算机,直到我更换了

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
Run Code Online (Sandbox Code Playgroud)

[ -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
Run Code Online (Sandbox Code Playgroud)

从而正确找到安装位置。


Arj*_*ava 7

对于 Mac 操作系统:

  1. 打开终端
  2. touch ~/.bash_profile
  3. vi ~/.bash_profile
  4. 类型 source ~/.nvm/nvm.sh
  5. 按下Shift + Esc并输入wq并按下enter
  6. 完毕。


S.M*_*hra 6

这个问题的所有答案都是有用的。特别是特拉维斯(Travis)给出的答案帮助了我。对于Mac OS X用户,我想提供一些步骤,以帮助他们使用Node Version Manager(又称nvm)进行全新安装。

在Mac OS X上安装和使用nvm

以下是全新安装nvm并毫无问题使用它的步骤:

  • 这里安装自制程序。
  • 使用自制软件安装nvm

    brew update brew install nvm

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

    mkdir ~/.nvm

  • 现在,如果您没有.bash_profile为OS X终端设置文件,请.bash_profile在根目录下创建一个:

    nano ~/.bash_profile

  • 将以下代码粘贴到中.bash_profile,然后CTRL + O按回车键以保存.bash_profile文件。按CTRL + X退出编辑器:

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

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

    source ~/.bash_profile

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


tn2*_*000 6

对于 Mac 操作系统:

  1. 打开终端
  2. 使用以下命令检查您是否有 .profile 文件:

ls -a ~/

  1. 如果您没有此文件,只需创建一个:

触摸~/.profile

  1. 将此命令添加到 .profile 文件中:

源~/.nvm/nvm.sh

  1. 按 Shift + Esc 并输入 wq 然后按 Enter


Nic*_*ane 5

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

创建配置文件

touch ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

重新运行安装,这次您将在输出中看到相关的行。

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

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

.  ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)


Ala*_*ora 5

与问题没有直接联系,但是可能会发生类似的问题,请看以下问题:无法从新bash执行nvm


这是我在那篇文章中的答案,仅供参考:

如果您是从新的bash实例运行,并且在〜/ .bashrc,〜/ .bash_profile等位置具有初始化代码,则需要在此初始化文件中查找条件。

在Ubuntu 14上,有一个:

case $- in
    *i*) ;;
      *) return;;
esac
Run Code Online (Sandbox Code Playgroud)

在第6行,如果未使用“ -i”(交互式)标志运行bash,则它将停止执行。因此,您需要运行:

bash -i
Run Code Online (Sandbox Code Playgroud)

另外,在文件末尾有一个

[ -z "$PS1" ] && return
Run Code Online (Sandbox Code Playgroud)

如果未设置$ PS1来运行,这将停止执行(例如在远程ssh会话中)。

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

希望对您有所帮助。


小智 5

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

# NVM changes
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Run Code Online (Sandbox Code Playgroud)

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

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Run Code Online (Sandbox Code Playgroud)

连同上面的行 到~/.bashrc~/.bash_profile


alm*_*man 5

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

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
Run Code Online (Sandbox Code Playgroud)

到最后.zshrc