我试图用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而不丢失全局安装包的前缀?
只有两个命令可以解决这个问题。
有些用户也可能在打开终端时得到错误。他们首先看到的是这个错误:
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,这也可以工作。
我正在寻找nvm前缀问题的解决方案,发现了这个问题(在找到解决方案之前)。这是我的shell“dialog”。我希望它能对某些人有用。在这篇文章的帮助下,我能够设置为前缀:
https://github.com/npm/npm/issues/6592
当我在使用npm——prefix="" set prefix ""之前尝试npm config delete prefix或nvm use——delete-prefix ""时,我只得到:
npm犯错!不行,代码0
注意,您必须对每个节点版本重复相同的过程,安装后前缀将被设置回(在我的例子中)/usr/local。
$ nvm install 0.10
######################################################################## 100.0%
nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local"
Run `npm config delete prefix` or `nvm use --delete-prefix v0.10.44` to unset it.
$ npm --prefix="" set prefix ""
$ nvm use 0.10.44
nvm is not compatible with the npm config "prefix" option: currently set to "/home/john"
Run `npm config delete prefix` or `nvm use --delete-prefix v0.10.44` to unset it.
$ nvm use --delete-prefix v0.10.44
Now using node v0.10.44 (npm v1.3.10)
$ nvm ls
v0.10.44
v4.4.3
-> system
default -> 4.4.3 (-> v4.4.3)
node -> stable (-> v4.4.3) (default)
stable -> 4.4 (-> v4.4.3) (default)
iojs -> N/A (default)
$ npm config get prefix
/usr/local
我解决了这个问题,当它显示在VSCode和JetBrains终端,但不是在本机终端使用以下命令:
ls -la /usr/local/bin | grep "np[mx]"
这将为你提供最终的解析路径:
... npm -> ../lib/node_modules/npm/bin/npm-cli.js
... npx -> ../lib/node_modules/npm/bin/npx-cli.js
从那里,删除文件并重新启动VS Code应该可以修复这个问题:
rm -R /usr/local/bin/npm /usr/local/lib/node_modules/npm/bin/npm-cli.js
rm -R /usr/local/bin/npx /usr/local/lib/node_modules/npm/bin/npx-cli.js
修复链接:https://github.com/nvm-sh/nvm/issues/1690#issuecomment-392014774