Dmi*_*sev 181 prefix node.js npm nvm
我试图运行另一个NodeJS版本,nvm
但收到此错误:
$ 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.
Run Code Online (Sandbox Code Playgroud)
我故意设置了我的前缀sudo npm
(参见https://docs.npmjs.com/getting-started/fixing-npm-permissions).
有没有办法可以使用nvm
而不会丢失全局安装包的前缀?
Mic*_*ick 319
$ npm config delete prefix
$ npm config set prefix $NVM_DIR/versions/node/v6.11.1
Run Code Online (Sandbox Code Playgroud)
注意:使用错误消息中指示的版本号更改版本号.
nvm与npm config"prefix"选项不兼容:当前设置为"/ usr/local"运行"npm config delete prefix"或"nvm use --delete-prefix v6.11.1 --silent"取消设置.
Github上@gabfiocchi的积分 - "你需要覆盖nvm前缀"
S.M*_*avi 60
我有同样的问题,执行npm config delete prefix
并没有帮助我.
但这样做:
使用brew安装nvm后,创建~/.nvm
目录:
$ mkdir ~/.nvm
并将以下行添加到~/.bash_profile
:
export NVM_DIR=~/.nvm
. $(brew --prefix nvm)/nvm.sh
Run Code Online (Sandbox Code Playgroud)
(请确认您在任何没有其他NVM相关命令~/.bashrc
或~/.profile
或~/.bash_profile
)
打开一个新终端,这次不应该打印任何警告信息.
通过执行nvm --version
命令检查nvm是否正常工作.
之后,使用安装/重新安装NodeJS nvm install node && nvm alias default node
.
更多信息
我安装nvm
使用homebrew
,之后我得到了这个通知:
请注意,上游要求我们通过Homebrew明确管理nvm不受他们的支持,您应该在报告之前检查标准nvm安装方法的任何问题.
如果NVM的工作目录不存在,您应该创建它:
Run Code Online (Sandbox Code Playgroud)mkdir ~/.nvm
将以下内容添加到
~/.bash_profile
您所需的shell配置文件中:Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)
它是固定的.
更新: 使用brew安装NVM会导致终端启动缓慢.您可以按照此说明解决此问题.
小智 33
这可能与您本地安装的Node发生冲突(如果您以前通过其他方式安装了NV).您应该删除此节点实例:
sudo rm -rf /usr/local/lib/node_modules
sudo rm /usr/local/bin/node
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm
在你无法安装nvm之后
小智 28
当您的NVM 安装文件夹路径具有Symbolic Link时,可能会发生此错误。
NVM 的默认安装路径是:$HOME/.nvm
但是您的主文件夹可能是另一个驱动器的符号链接,就像我的情况一样。
例如,我的主文件夹是到另一个驱动器的符号链接:
/home/myuser -> /bigdrive/myuser
这会导致前缀问题。
在您的启动脚本(.bashrc 或 .zshrc 或其他)上,将 NVM 文件夹更改为直接路径。
例如:NVM_DIR="/bigdrive/myuser/.nvm"
。
.bashrc
export NVM_DIR="/bigdrive/myuser/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Run Code Online (Sandbox Code Playgroud)
如果您的主目录已安装在某处,则可能是问题,因为nvm无法与符号链接一起正常工作.因为我不在乎我的$ NVM_DIR在哪里,我运行这个并且一切正常:
$ mv ~/.nvm /tmp/
$ export NVM_DIR="/tmp/.nvm"
$ nvm use --delete-prefix v6.9.1
Run Code Online (Sandbox Code Playgroud)
我有相同的错误消息,但有其他解决方案。curl (install.sh) 期间自动生成的路径不匹配。检查这个:
echo $NVM_DIR
Run Code Online (Sandbox Code Playgroud)
就我而言: /var/www//.nvm
。在自动生成的 bash 文件中显示并更改并替换它:(~/.bash_profile、~/.zshrc、~/.profile 或 ~/.bashrc)
代替
export NVM_DIR="$HOME/.nvm"
Run Code Online (Sandbox Code Playgroud)
与(例如)
export NVM_DIR="$HOME.nvm"
Run Code Online (Sandbox Code Playgroud)
小智 5
只需两个命令即可解决此问题。某些用户在打开终端时也可能会收到错误消息。他们首先看到的是这个错误:
nvm is not compatible with the npm config "prefix" option:
currently set to "/Users/z/.npm-global"
Run Code Online (Sandbox Code Playgroud)
运行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
Run Code Online (Sandbox Code Playgroud)
注意:如果您的终端使用 zsh,这也将起作用。
归档时间: |
|
查看次数: |
74946 次 |
最近记录: |