Nodejs nvm 命令提示 nvm is not compatible with the npm config "prefix" option 错误
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>" ] && . "$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版本。
要解决这个问题,你可以按照以下步骤操作:
-
检查当前的npm前缀设置:
npm config get prefix
-
如果前缀不是默认的(通常在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
- 首先,你可以尝试删除或注释掉
-
重新加载nvm环境:
nvm use <your-node-version>
-
验证npm配置:
npm config list
确保npm的配置中没有非默认的prefix设置,这应该可以解决你遇到的问题。如果问题依旧,可能需要检查你的环境变量或nvm的安装状态。