我试图用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而不丢失全局安装包的前缀?


当前回答

对我来说,我去掉了线条

NPM_PACKAGES="${HOME}/.npm-packages"

PATH="$NPM_PACKAGES/bin:$PATH"

从我的.bashrc和能够运行npm install -g package-name,而不需要sudo权限或有错误消息出现在我的shell窗口。

其他回答

如果你把你的主目录挂载在某个地方,这可能是一个问题,因为nvm不能正确地使用符号链接。因为我不关心我的$NVM_DIR位于哪里,我运行这个,一切正常:

$ mv ~/.nvm /tmp/
$ export NVM_DIR="/tmp/.nvm"
$ nvm use --delete-prefix v6.9.1

我在把我的主文件夹移动到linux上的新驱动器后遇到了这个问题。通过删除.nvm文件夹并重新安装nvm来修复

对我来说,我去掉了线条

NPM_PACKAGES="${HOME}/.npm-packages"

PATH="$NPM_PACKAGES/bin:$PATH"

从我的.bashrc和能够运行npm install -g package-name,而不需要sudo权限或有错误消息出现在我的shell窗口。

刚刚解决了问题。我用符号链接$HOME/。$DEV_ZONE/env/node/nvm目录下。我也面临着同样的问题。我替换了$HOME/中的NVM_DIR。ZSHRC如下

export NVM_DIR="$DEV_ZONE/env/node/nvm"

顺便说一下,请使用curl或wget命令安装NVM,而不是使用brew。欲了解更多信息,请查看Github: 855#issue -146115434本期的评论

我试过了这篇文章里的每一个答案,但没有一个奏效。重新安装nvm文档https://github.com/nvm-sh/nvm与curl修复了我的问题。