nvm 与 npm config "prefix" 选项不兼容:

新手上路,请多包涵

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

原文由 Dmitri Zaitsev 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.2k
2 个回答

删除并重置前缀

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


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

nvm 与 npm config “prefix” 选项不兼容:当前设置为 “/usr/local” 运行 “npm config delete prefix” 或 “nvm use –delete-prefix v6.11.1 –silent” 以取消设置。


感谢 Github 上的@gabfiocchi - “你需要覆盖 nvm 前缀”

原文由 Mick 发布,翻译遵循 CC BY-SA 4.0 许可协议

我遇到了同样的问题,执行 npm config delete prefix 对我没有帮助。

但这确实:

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

$ mkdir ~/.nvm

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

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

(检查您在任何 ~/.bashrc~/.profile~/.bash_profile 中是否没有其他与 nvm 相关的命令)

打开一个新终端,这次它不应该打印任何警告消息。

通过执行 nvm --version 命令检查 nvm 是否正常工作。

之后,使用 nvm install node && nvm alias default node 安装/重新安装 NodeJS。

更多信息

我安装了 nvm 使用 homebrew 然后我收到了这个通知:

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

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

>   mkdir ~/.nvm
>
> ```
>
> 将以下内容添加到 `~/.bash_profile` 或您所需的 shell 配置文件:
>
> ```
>   export NVM_DIR=~/.nvm
>  . $(brew --prefix nvm)/nvm.sh
>
> ```
>
> 您可以将 `$NVM_DIR` 设置到任何位置,但将其从 `/usr/local/Cellar/nvm/0.31.0` 保持不变将在升级/重新安装时破坏任何 nvm 安装的节点安装。

忽略它给我带来了这个错误信息:

> `nvm` 与 `npm config` “前缀”选项不兼容:当前设置为 `"/usr/local/Cellar/nvm/0.31.0/versions/node/v5.7.1"`
>
> 运行 `nvm use --delete-prefix v5.7.1 --silent` 取消设置。

我遵循了较早的指南(来自 `homebrew/nvm` ),之后我发现我需要重新安装 NodeJS。所以我做了:

nvm install node && nvm alias default node

”`

它是固定的。

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

原文由 S.M.Mousavi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题