提问者:小点点

nvm与npm config“前缀”选项不兼容:


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


共3个答案

匿名用户

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

注意:使用错误消息中指示的版本号更改版本号。

nvm与npm配置“前缀”选项不兼容:当前设置为“/usr/local”运行“npm配置删除前缀”或“nvm use-delete-prefix v 6 . 11 . 1-silent”以取消设置。

Credits to@gabfiocchi on Github-“您需要覆盖nvm前缀”

匿名用户

我遇到了同样的问题,执行 npm 配置删除前缀对我没有帮助。

但这确实是:

使用brew安装nvm后,创建~/. nvm目录:
$mkdir~/. nvm

并将以下行添加到~/.bash_profile中:

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

(检查任何< code>~/中是否没有其他与nvm相关的命令。bashrc或< code>~/。profile或< code>~/。bash_profile)

打开一个新的终端,这次它不应该打印任何警告消息
通过执行nvm--version命令检查nvm是否正常工作
之后,使用nvm install node安装/重新安装NodeJS

更多信息

我使用home brew安装了nvm,之后我收到了这个通知:

请注意,上游要求我们通过Homebrew显式管理nvm,但他们不支持,您应在报告之前对照标准nvm安装方法检查任何问题。

如果NVM的工作目录不存在,则应创建该目录:

 mkdir ~/.nvm

将以下内容添加到< code>~/。bash_profile或您想要的shell配置文件:

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

您可以将$NVM_DIR设置到任何位置,但保持其在/usr/local/Cellar/NVM/0.31.0中的不变将在升级/重新安装时销毁所有已安装的NVM节点。

忽略它给我带来了以下错误消息:

< code>nvm与< code>npm配置“前缀”选项不兼容:当前设置为< code > "/usr/local/Cellar/nvm/0 . 31 . 0/versions/node/v 5 . 7 . 1 " < br >运行< code > nvm use-delete-prefix v 5 . 7 . 1-silent 以取消设置。

我遵循了早期的指南(来自自制软件/nvm),之后我发现我需要重新安装 NodeJS。所以我做到了:

nvm install node && nvm alias default node

它被修好了。

更新:使用brew安装NVM会导致终端启动缓慢。您可以按照此说明解决它。

匿名用户

这可能与您本地安装的Node发生冲突(如果您以前通过NVM以外的其他方式安装)。您应该删除节点的此实例:

  1. 删除node_modulessudo rm-rf /usr/local/lib/node_modules
  2. 删除节点sudo rm /usr/local/bin/node
  3. 删除节点链接cd /usr/local/bin

在您无法安装nvm之后