我试图用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而不丢失全局安装包的前缀?
对于那些第一次通过自制程序安装node,然后将nvm添加到系统中的用户。
如果你看到嘈杂的消息:nvm不兼容npm配置“prefix”选项:当前设置为“/usr/local”,你可能需要删除node_modules和节点本身,解决方案在上面^^有完美的描述,但下面是简单的方法。
由于brew自动将env var添加到.bash_profile中,每次bash加载路径都指向最初安装的版本。
1.进入。/.bash_profile
2. 注释指向节点的行,如下所示
# =出口路径“/ usr /地方/ opt / node@10 / bin:美元路径”
下次bash应该加载nvm安装的节点,
确保bash_profile包含NVM dir
出口NVM_DIR = " /用户/ {your_user_name} / .nvm”
我正在寻找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