节点版本管理器install - nvm命令未找到

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

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

873326 次浏览

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

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

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

. $HOME/.nvm/nvm.shsource $HOME/.nvm/nvm.sh相同

看到:# EYZ0

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

ls -a | grep .nvm

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

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

我认为你错过了这一步:

source ~/.nvm/nvm.sh

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

https://github.com/creationix/nvm

将这一行添加到~/。bashrc,(~ /。或者~/.zshrc

迅速的回答

计算如下:

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

例子

正如你所看到的,它的状态是zsh而不是bashenter image description here

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

为什么会发生这种情况

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

换句话说:这是nvm故障。

关于zsh的更多信息可以在其中一个答案在这里上阅读。

zsh用户的快速回答

curl raw.github.com/creationix/nvm/master/install.sh | zsh

如果您使用的是OS X,那么在运行安装命令之前可能必须创建.bash_profile文件。这对我很有帮助。

创建概要文件

touch ~/.bash_profile

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

=>向/Users/{username}/.bash_profile添加源字符串

重新加载您的配置文件(或关闭/重新打开终端窗口)。

.  ~/.bash_profile

与问题没有直接联系,但可能会发生类似的问题,看看这个问题:不能在新bash中执行nvm


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

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

在Ubuntu 14上,有一个:

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

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

bash -i

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

[ -z "$PS1" ] && return

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

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

希望这对大家有帮助。

在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将在登录时自动获得。

默认情况下,nvm install脚本将初始化代码添加到$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安装在非标准位置。

这对我来说很管用:

  1. 在安装nvm之前,在终端touch ~/.bash_profile中运行这个命令

  2. 在终端中运行:
    李# EYZ0 < / p > < / >

  3. < >强重要…… - DO NOT forget Restart your terminal OR use command source ~/.nvm/nvm.sh(这将刷新系统路径中的可用命令)。

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

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

# EYZ0

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

在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更可取。# EYZ0

我已经解决了这个问题。

  1. 联系~ / . bash_profile
  2. 开放的~ / . bash_profile
  3. <李>粘贴<代码> export 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

对于我的例子,这是因为我使用。如果我不开始,输入nvm就不会有错误了。

在文件~/.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

Windows 8.1 x64中,我也遇到了同样的情况,并收到了以下消息。

NVM install 8.3.0 bash: NVM: command not found Windows . sh

所以,遵循或验证以下步骤-

首先从github.com安装coreybutler/nvm-windows。目前可用的最新版本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直接选择正确的安装程序。

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

所有这些问题的答案都是有用的。尤其是特拉维斯给出的答案帮助了我。对于Mac OS X用户,我想提供一些步骤,这将帮助他们与节点版本管理器(又名nvm)的新安装。

安装,在Mac OS X上使用nvm

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

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

    < p > <代码>酿造更新 Brew install nvm

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

    # EYZ0 < / p >

  • 现在如果你没有.bash_profile文件设置OS X终端,那么请在根级别创建.bash_profile:

    # EYZ0 < / p >

  • 将下面的代码粘贴到.bash_profile中,按CTRL + O并按enter保存.bash_profile文件。按CTRL + X退出编辑器:

    < p > <代码>出口NVM_DIR = ~ / .nvm 源(酿造——prefix nvm) /美元nvm.sh < /代码> < / p > < /李>
  • 现在要么关闭(CMD + Q)终端,要么运行以下命令加载.bash_profile设置:

    # EYZ0 < / p >

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

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

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的末尾

首先在~/中添加以下行。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

然后打开terminal并源nvm.sh脚本

source ~/.nvm/nvm.sh

使用以下代码

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

在尝试了多个步骤后,不确定我的情况下有什么问题,但运行这个方法有帮助:

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

nvm --version验证

nvm -v output

MacOS;

在终端>上运行

open ~/.bash_profile

粘贴所有这些=

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

对于Mac OS:

  1. 打开终端
  2. 运行# EYZ0
  3. 运行# EYZ0
  4. # EYZ0类型
  5. Shift + Esc,输入wq,然后按enter
  6. 完成了。

# EYZ0

默认shell以前是bash。

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

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

注意:你可能需要确保zsh的.rc文件提前出现:

touch ~/.zsrhrc

我也有同样的问题,但这招对我很管用:

从macOS 10.15开始,默认shell是zsh, nvm将寻找.zshrc来更新,默认情况下没有安装。使用~/.zshrc创建一个并再次运行安装脚本。

更多信息在这里:macOS系统故障处理

我也有同样的问题,救了我一命的是那句“you may have to add to more than one of your”~/。bashrc,(~ /。配置文件或~/。zshrc files"。以下几行只在我的.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

需要注意的是,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

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

对于Mac OS:

  1. 打开终端
  2. 用下面的命令检查你是否有.profile文件:

Ls -a ~/

  1. 如果你没有这个文件,就创建一个:

联系~ / . profile

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

~ / .nvm / nvm.sh来源

  1. 按Shift + Esc键,输入wq,按enter键

假设你已经使用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
在花了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

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

我最初使用brew安装了nvm:

brew install nvm

但是当我运行命令时:

nvm --version

我得到了错误:

ZSH nvm: command not found .输出说明

# EYZ0:

使用酿造安装nvm不足以让它工作。你还需要做以下事情;

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

    zsh: ~/.zshrc
    
    
    bash: ~/.bashrc
    
    
    ksh: ~/.profile
    

    否则创建它使用:

    touch ~/.zshrc
    
    
    touch ~/.bashrc
    
    
    touch ~/.profile
    
  • 下一步,执行以下任意一条命令:

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

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

    wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    

    请注意:运行上面的任何一个命令下载一个脚本并运行它。脚本将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.
    

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

# EYZ0: # EYZ1

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

首先,# EYZ0。

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

nvm alias default 16.14.2

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

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

我在一台新电脑上得到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

[ -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

正确地找到了安装位置。

  1. 打开终端
  2. 如果你有ZSH终端,那么输入命令'open ~/.zshrc'
  3. 添加文件结尾,保存如下: 李源~ / .nvm / nvm.sh < / >