我试图用nvm运行另一个NodeJS版本,但得到这个错误:
$ nvm use v4.2.4
nvm is not compatible with the npm config "prefix" option:
currently set to "/Users/z/.npm-global"
Run `npm config delete prefix` or `nvm use --delete-prefix v4.2.4` to unset it.
我特意设置了前缀,以避免sudo npm(参见https://docs.npmjs.com/getting-started/fixing-npm-permissions)。
是否有任何方法可以使用nvm而不丢失全局安装包的前缀?
当NVM安装文件夹路径具有符号链接时,可能会发生此错误。
解释
NVM默认安装路径为“$HOME/”。但是你的主文件夹可以是另一个驱动器的符号链接,就像我的例子。
例如,我的主文件夹是一个符号链接到另一个驱动器:
- home/myuser -> /bigdrive/myuser
这会导致前缀问题。
解决方案
在您的启动脚本(。bashrc或.zshrc或其他),将NVM文件夹更改为直接路径。
Ex: NVM_DIR = " - bigdrive myuser / nvm”。
. bashrc
export NVM_DIR="/bigdrive/myuser/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
当NVM安装文件夹路径具有符号链接时,可能会发生此错误。
解释
NVM默认安装路径为“$HOME/”。但是你的主文件夹可以是另一个驱动器的符号链接,就像我的例子。
例如,我的主文件夹是一个符号链接到另一个驱动器:
- home/myuser -> /bigdrive/myuser
这会导致前缀问题。
解决方案
在您的启动脚本(。bashrc或.zshrc或其他),将NVM文件夹更改为直接路径。
Ex: NVM_DIR = " - bigdrive myuser / nvm”。
. bashrc
export NVM_DIR="/bigdrive/myuser/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"