Nodejs nvm 命令提示 nvm is not compatible with the npm config "prefix" option 错误

Nodejs nvm 命令提示 nvm is not compatible with the npm config “prefix” option 错误


如上图所示,执行 nvm use v4.4.3 时会提示图中的错误,按照提示执行 npm config delete prefix 或者 nvm use --delete-prefix v4.4.3 后正常了,但是重新打开终端后,又会回到图中刚开始的情形。

.bash_profile 中的内容如下:




还请各位大神帮忙看一下是什么问题……


8 回复

Try -S save?


…不知道你到底想用哪个?

要是完全想用 nvm 装的 nodejs, 就去掉 .bash_profile 里 PATH 下的 node 路径呗

要是想一直用 nvm 的, 你用 nvm alias default 4.4 就行了. 这个命令在重开 terminal 时不丢 nvm 设置的, 无需再次 use

我就是想用 nvm 装的 nodejs ,那您的意思是我现在系统里还存在有一个其它方式安装的 nodejs ,即"system"么?

我将.bash_profile 中的第二行去掉后, nvm ls 的结果就只显示 v4.4.3 而没有 system 了。不过之后执行 npm 或者 hexo 命令,都会提示 command not found 。

我是把 nvm 的配置放到 .zshrc 文件下面的
文件最后加上两行
<br>export NVM_DIR="/root/.nvm"<br>[ -s "$NVM_DIR/<a target="_blank" href="http://nvm.sh" rel="nofollow noopener">nvm.sh</a>" ] &amp;&amp; . "$NVM_DIR/<a target="_blank" href="http://nvm.sh" rel="nofollow noopener">nvm.sh</a>" # This loads nvm<br>
不知到对你是否有帮助。




我刚才又查了一下,发现了这个 issue : https://github.com/creationix/nvm/issues/855
按照作者的解释,应该是现在不要用 homebrew 安装 nvm 了,我 brew uninstall 以后按照它推荐的方法安装了以后就不存在这个问题了。无论如何谢谢大家!

遇到“nvm is not compatible with the npm config ‘prefix’ option”错误时,通常是因为你的npm配置中设置了自定义的全局模块安装路径(通过npm config set prefix <path>),而nvm(Node Version Manager)不支持这种配置。nvm期望npm的全局模块和Node.js的安装路径是固定的,以便于管理多个Node.js版本。

要解决这个问题,你可以按照以下步骤操作:

  1. 检查当前的npm前缀设置

    npm config get prefix
    
  2. 如果前缀不是默认的(通常在Node.js的安装目录内),则重置它

    • 首先,你可以尝试删除或注释掉.npmrc文件中与prefix相关的配置(如果有的话)。
    • 或者,通过以下命令重置为默认(可能需要根据你的Node.js安装路径调整):
      npm config delete prefix
      npm config set prefix /path/to/your/nodejs/version/bin/npm-global-modules-directory --globalconfig=/path/to/global/.npmrc
      
      注意:通常不建议手动设置全局配置路径,除非有特定需求。
  3. 重新加载nvm环境

    nvm use <your-node-version>
    
  4. 验证npm配置

    npm config list
    

确保npm的配置中没有非默认的prefix设置,这应该可以解决你遇到的问题。如果问题依旧,可能需要检查你的环境变量或nvm的安装状态。

回到顶部