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


当前回答

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

其他回答

注意: 删除,删除或卸载nvm -只需删除$NVM_DIR文件夹(通常是~/.nvm) 你可以试试: Rm -rf ~/.nvm

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

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

只有两个命令可以解决这个问题。 有些用户也可能在打开终端时得到错误。他们首先看到的是这个错误:

nvm is not compatible with the npm config "prefix" option: 
currently set to "/Users/z/.npm-global"

执行命令npm config delete prefix或nvm use——delete-prefix v4.2.4取消设置。

因此,要解决这个问题,运行以下两个命令。 注意:将版本号更改为错误中显示的版本号。

$ npm config delete prefix 
$ npm config set prefix $NVM_DIR/versions/node/v6.11.1

注意:如果您的终端正在使用zsh,这也可以工作。

刚刚解决了问题。我用符号链接$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 use --delete-prefix v10.7.0
$ npm config list

然后,我在输出中发现了错误配置:

; project config /mnt/c/Users/paul/.npmrc
prefix = "/mnt/c/Users/paul/C:\\Program Files\\nodejs"

因此,我删除了/mnt/ C /Users/paul/.npmrc中的C:\\Program Files\\nodejs。