当在OS X中使用一个新的终端会话时,nvm会忘记节点版本并默认为零:

$nvm ls:

         .nvm
     v0.11.12
     v0.11.13

我必须在每个会话中一直按nvm use v.0.11.13:

         .nvm
     v0.11.12
->   v0.11.13

我已经尝试了brew安装和官方安装脚本。

我的.profile为酿造版本:

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

对于install.sh脚本:

$ curl https://raw.githubusercontent.com/creationix/nvm/v0.10.0/install.sh | bash

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

你知道我哪里做错了吗?


当前回答

最受欢迎的解决方案似乎对我不起作用。我的解决方案如下:

使用自制程序卸载nvm 重新安装brew install nvm 在终端中,按照步骤操作 以下(这些也在通过自制程序安装NVM时列出): mkdir ~ / .nvm Cp $(brew——prefix nvm)/nvm-exec ~/.nvm/ 出口NVM_DIR = ~ / .nvm 来源$(brew——prefix nvm)/nvm.sh

上面列出的步骤将NVM的工作目录添加到$HOME路径,将NVM -exec复制到NVM的工作目录并添加到$HOME/。bashrc, ($ HOME /。Zshrc,或者您的shell的等效配置文件。(同样取自使用自制程序安装NVM时列出的内容)

其他回答

在我的例子中,另一个程序向.bashrc添加了PATH更改

如果其他程序在nvm初始化后更改了PATH,那么nvm的PATH更改将被忘记,我们将获得PATH上的系统节点(或没有节点)。

解决方案是将nvm设置移到.bashrc的底部

### BAD .bashrc ###

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

# Some other program adding to the PATH:
export PATH="$ANT_ROOT:$PATH"

解决方案:

### GOOD .bashrc ###

# Some other program adding to the PATH:
export PATH="$ANT_ROOT:$PATH"

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

(这是在CentOS的bash 4.2.46。在我看来,这是一个错误,但我可能是错的。

1.-通过自制软件安装

2.-因为我使用的是zsh终端,在~/。ZSHRC添加这些行,如果你使用bash,你需要把这些行放在~/.bash_profile中

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

由于某种原因,在我的~/。我发现配置文件是选择节点的版本,覆盖别名默认命令的nvm

只是另一件需要检查的事情。

安装任何版本后运行此命令,

n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local

该命令将通过nvm激活的任何版本的节点复制到/usr/local/目录中,并设置权限,以便所有用户都可以访问它们。

我在这里找到了一条新路。使用交互式管理你的Node.js有助于。