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"