Node.js nvm与npm配置不兼容;前缀";选项:
我正在尝试使用Node.js nvm与npm配置不兼容;前缀";选项:,node.js,npm,prefix,nvm,Node.js,Npm,Prefix,Nvm,我正在尝试使用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. 我特意设置了前缀,以避免sud
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
(请参阅)
是否有任何方法可以使用
nvm
而不丢失全局安装软件包的前缀?我也遇到同样的问题,执行npm config delete prefix
对我没有帮助
但这确实:
使用brew安装nvm后,创建~/.nvm
目录:$mkdir~/.nvm
并将以下行添加到~/.bash\u配置文件中:
export NVM_DIR=~/.nvm
. $(brew --prefix nvm)/nvm.sh
(检查您在任何~/.bashrc
或~/.profile
或~/.bash\u profile
中是否没有其他与nvm相关的命令)
打开一个新的终端,这一次不应打印任何警告消息。
通过执行nvm--version
命令检查nvm是否工作。
之后,使用nvm安装节点和&nvm别名默认节点安装/重新安装NodeJS
更多信息
我使用homebrew
安装了nvm
,之后收到了以下通知:
请注意,上游要求我们作出明确的管理
他们不支持通过自制的nvm,您应该检查任何
报告之前,标准nvm安装方法存在问题
如果NVM的工作目录不存在,则应创建该目录:
mkdir ~/.nvm
将以下内容添加到~/.bash_profile
或所需的shell
配置文件:
export NVM_DIR=~/.nvm
. $(brew --prefix nvm)/nvm.sh
您可以将$NVM_DIR
设置到任何位置,但从
/usr/local/cillar/nvm/0.31.0
将销毁任何安装了nvm的节点安装
升级/重新安装后
忽略它会导致出现以下错误消息:
nvm
与npm配置
的“前缀”选项不兼容:当前设置为“/usr/local/ceral/nvm/0.31.0/versions/node/v5.7.1”
运行nvm使用--delete prefix v5.7.1--silent
将其取消设置
我遵循了早期的指南(来自自制/nvm
),之后我发现我需要重新安装NodeJS。所以我做了:
nvm install node && nvm alias default node
而且已经修好了
更新:
使用brew安装NVM会导致终端启动缓慢。你可以试着去解决它。我也遇到了同样的问题,每次终端都让我很恼火。我运行命令到终端,它被修复了
对于尝试从brew中删除nvm的用户
仅仅brew卸载nvm可能还不够
如果您看到npm前缀仍然是/usr/local,请运行此命令
sudorm-rf
/usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}
我正在寻找nvm前缀问题的解决方案。我发现了这个问题(在找到解决方案之前)。这是我的shell“对话框”。我希望它能对某些人有用。在这篇文章的帮助下,我可以设置为前缀:
当我在使用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
如果您将主目录挂载在某个位置,则可能会出现问题,因为nvm不能与符号链接一起正常工作。因为我不在乎$NVM_DIR位于何处,所以我运行此程序,一切正常:
$ mv ~/.nvm /tmp/
$ export NVM_DIR="/tmp/.nvm"
$ nvm use --delete-prefix v6.9.1
注:
要删除、删除或卸载nvm,只需删除$nvm\u DIR
文件夹(通常是~/.nvm
)
您可以试试:
rm-rf~/.nvm
在将主文件夹移动到linux上的新驱动器后,我遇到了这个问题。通过删除.nvm文件夹并重新安装nvm,修复了此问题。我在使用通过nvm
安装的节点时遇到了此问题,而nvm
通过自制安装。我通过运行brew uninstall nvm
,rm-rf$nvm\u DIR
,然后使用重新安装nvm并重新安装所需的节点版本来解决此问题
注意:我还安装了$NVM_DIR
并进行了符号链接。我将其移回我的homedir。删除并重置前缀
注意:将版本号更改为错误消息中指示的版本号
nvm与npm配置“前缀”选项不兼容:当前
设置为“/usr/local”运行“npm配置删除前缀”或“nvm使用”
--删除前缀v6.11.1--silent“以取消设置它
Github上@gabfiocchi的信用证-这可能与您在本地安装的节点冲突(如果您过去通过NVM以外的其他方式安装)。您应该删除节点的此实例:
卸下节点U模块
sudo rm-rf/usr/local/lib/node_模块
删除节点
sudo rm/usr/local/bin/node
删除节点链接
cd/usr/local/bin&&ls-l|grep.。/lib/node_modules/“awk{print$9}”| xargs rm
在您无法安装nvm后,刚刚解决了问题。我将$HOME/.nvm
符号链接到$DEV_ZONE/env/node/nvm
目录。我也面临同样的问题。我在$HOME/.zshrc
中替换了NVM_DIR
,如下所示
export NVM_DIR="$DEV_ZONE/env/node/nvm"
顺便说一句,请使用curl
或wget
命令安装NVM,不要使用brew
。更多信息,请查看本期Github上的评论:我有一个想法。使用符号链接解决错误,您仍然可以对全局安装的软件包使用前缀。
ln-s[您的前缀路径][在'~/.nvm'中的路径]
然后,您将在~/.nvm
文件夹中拥有一个符号文件夹,但实际上,您的全局软件包仍然安装在[您的前缀路径]中。然后错误将不再显示,您可以正常使用nvm use**
。
附言:是wo
export NVM_DIR="$DEV_ZONE/env/node/nvm"
$ npm config delete prefix
$ npm config set prefix $NVM_DIR/versions/node/v6.11.1
$ rm -rf "$NVM_DIR"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
$ nvm use --delete-prefix v10.7.0
$ npm config list
; project config /mnt/c/Users/paul/.npmrc
prefix = "/mnt/c/Users/paul/C:\\Program Files\\nodejs"
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
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
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"
echo $NVM_DIR
export NVM_DIR="$HOME/.nvm"
export NVM_DIR="$HOME.nvm"