nvm 与 npm config "prefix" 选项不兼容:
nvm is not compatible with the npm config "prefix" option:
我正在尝试 运行 另一个带有 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
而不会丢失全局安装包的前缀?
我遇到了同样的问题,执行 npm config delete prefix
对我没有帮助。
但这确实发生了:
使用brew安装nvm后,创建~/.nvm
目录:
$ mkdir ~/.nvm
并在 ~/.bash_profile
中添加以下行:
export NVM_DIR=~/.nvm
. $(brew --prefix nvm)/nvm.sh
(检查你在任何 ~/.bashrc
或 ~/.profile
或 ~/.bash_profile
中是否没有其他与 nvm 相关的命令)
打开一个新终端,这次应该不会打印任何警告信息。
通过执行 nvm --version
命令检查 nvm 是否正常工作。
之后,install/reinstall NodeJS 使用 nvm install node && nvm alias default node
。
更多信息
我使用 homebrew
安装了 nvm
,然后我收到了这个通知:
Please note that upstream has asked us to make explicit managing
nvm via Homebrew is unsupported by them and you should check any
problems against the standard nvm install method prior to reporting.
You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
Add the following to ~/.bash_profile
or your desired shell
configuration file:
export NVM_DIR=~/.nvm
. $(brew --prefix nvm)/nvm.sh
You can set $NVM_DIR
to any location, but leaving it unchanged from
/usr/local/Cellar/nvm/0.31.0
will destroy any nvm-installed Node installations
upon upgrade/reinstall.
忽略它给我带来了这个错误信息:
nvm
is not compatible with the npm config
"prefix" option: currently set to "/usr/local/Cellar/nvm/0.31.0/versions/node/v5.7.1"
Run nvm use --delete-prefix v5.7.1 --silent
to unset it.
我遵循了较早的指南(来自 homebrew/nvm
),之后我发现我需要重新安装 NodeJS。所以我做了:
nvm install node && nvm alias default node
它已修复。
更新:
使用 brew 安装 NVM 会导致终端启动缓慢。您可以follow this instruction解决它。
我遇到了同样的问题,每次使用终端都非常烦人。我 运行 向终端发送命令,它已修复
对于那些尝试从 brew 中删除 nvm 的人
仅仅 brew uninstall nvm 可能还不够
如果你看到 npm 前缀仍然是 /usr/local,运行 这个命令
sudo rm -rf
/usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}
我在寻找 nvm 前缀问题的解决方案时发现了这个问题(在找到解决方案之前)。这是我的 shell "dialog"。我希望,它对某人有用。我能够在 post 的帮助下设置前缀:
https://github.com/npm/npm/issues/6592
当我在使用 npm --prefix="" set prefix ""
之前尝试 npm config delete prefix
或 nvm use --delete-prefix
时,我只得到:
错误!不正常代码 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_DIR
文件夹(通常是 ~/.nvm
)
你可以试试 :
rm -rf ~/.nvm
将主文件夹移动到 linux 上的新驱动器后,我遇到了这个问题。已通过删除 .nvm 文件夹并重新安装 nvm
修复
我在使用通过 nvm
安装的节点时 运行 进入了这个,nvm
通过自制软件安装。我通过 运行 brew uninstall nvm
、rm -rf $NVM_DIR
解决了它,然后使用 official install script 重新安装 nvm 并重新安装我需要的节点版本。
注意:我还 $NVM_DIR
安装和符号链接。我把它移回了我的主目录。
删除并重置前缀
$ npm config delete prefix
$ npm config set prefix $NVM_DIR/versions/node/v6.11.1
注意:将版本号更改为错误消息中指示的版本号。
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 v6.11.1 --silent" to unset it.
感谢@gabfiocchi 在 Github - "You need to overwrite nvm prefix"
这可能与您本地安装的 Node 有冲突(如果您过去是通过 NVM 以外的其他方式安装的)。您应该删除此节点实例:
- 删除node_modules
sudo rm -rf /usr/local/lib/node_modules
- 删除节点
sudo rm /usr/local/bin/node
- 删除节点link
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print }'| 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的评论:855#issuecomment-146115434
我有个想法。使用符号 link 解决错误,您仍然可以对全局安装的包使用您的前缀。
ln -s [your prefix path] [path in the '~/.nvm']
那么你会在~/.nvm
文件夹中有一个符号文件夹,但实际上,你的全局包仍然安装在[你的前缀路径]中。然后就不会再报错了,可以正常使用nvm use **
了。
ps:它在 mac
上对我有用。
pps:不要忘记将 $PATH
设置为您的 npm bin
文件夹以使用全局安装的包。
我遵循了 的答案,但结果并不理想。
$ npm config delete prefix
$ npm config set prefix $NVM_DIR/versions/node/v6.11.1
在 运行 推荐的命令之后我的 nvm 不再工作,运行 nvm use
会显示正在使用的正确节点版本,但是 运行 node -v
会显示另一个。无法再更改节点的版本。
我完全卸载并重新安装了 nvm 来修复它。我在 https://github.com/creationix/nvm#manual-uninstall 之后关注了 运行
$ rm -rf "$NVM_DIR"
然后编辑我的 .zshrc
以删除与 nvm 相关的行,在我的例子中是
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"
然后开始一个新的 shell(这样 nvm 就不会加载到这个新的 shell 中)和 运行 https://github.com/creationix/nvm#install-script
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
它添加了 nvm 我之前在 .zshrc
.
中删除的行
然后我就可以像以前一样使用nvm了。我想这是一个奇怪的情况,因为出现问题并迫使我重新安装所有东西,看起来大多数人都不会因为这个问题而经历这个。
让我描述一下我的情况。
首先,检查当前配置
$ 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"
所以,我删除了 /mnt/c/Users/paul/.npmrc 中的 C:\Program Files\nodejs
。
我在 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
修正 link: https://github.com/nvm-sh/nvm/issues/1690#issuecomment-392014774
当您的 NVM 安装文件夹路径 具有 Symbolic Link.
时,可能会发生此错误
说明
NVM 的默认安装路径是:$HOME/.nvm
但您的主文件夹可能是另一个驱动器的符号 link,例如我的情况。
例如,我的主文件夹是 Symbolic Link 到另一个驱动器:
/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"
我有相同的错误消息,但有其他解决方案。
curl (install.sh) 期间自动生成的路径不匹配。
检查这个:
echo $NVM_DIR
就我而言:/var/www//.nvm
。在自动生成的 bash 文件中显示并更改并替换它:(~/.bash_profile、~/.zshrc、~/.profile 或 ~/.bashrc)
替换
export NVM_DIR="$HOME/.nvm"
与(例如)
export NVM_DIR="$HOME.nvm"
我已经尝试了此线程中的每个答案,但 none 有效。按照记录 https://github.com/nvm-sh/nvm 和 curl
重新安装 nvm
解决了我的问题。
对于那些首先通过自制软件安装节点然后将 nvm 添加到系统的人。
如果您看到嘈杂的消息:nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local
您可能需要删除 node_modules 和节点本身,解决方案在上面描述得很完美^^,但下面是简单的方法。
由于 brew 自动将 env var 添加到 .bash_profile,每次 bash 加载的路径都指向最初安装的版本。
1.Go 到 ./.bash_profile
2.注释指向节点的行,像这样
#export PATH="/usr/local/opt/node@10/bin:$PATH"
下次bash应该加载由nvm安装的节点,
确保 bash_profile 包含 nvm 目录
导出 NVM_DIR="/Users/{your_user_name}/.nvm"
对我来说,我删除了行
NPM_PACKAGES="${HOME}/.npm-packages"
PATH="$NPM_PACKAGES/bin:$PATH"
来自我的 .bashrc
并且能够 运行 npm install -g package-name
而无需 sudo
权限或错误消息出现在我的 shell window.
我遇到了同样的问题,这是因为node和nodejs的npm冲突
所以通过下面的命令删除 nodejs
sudo apt-get remove nodejs
这将删除所有与 nodejs 相关的包,
在上面的命令之后,你必须运行像那样自动删除命令
sudo apt autoremove
这将解决问题,
这是我为我所做的工作
1- sudo su
2-root@antonio:/home/antonio# mv ~/.nvm /tmp/
3- root@antonio:/home/antonio# export NVM_DIR="/tmp/.nvm"
4- root@antonio:/home/antonio# nvm use --delete-prefix v17.4.0
5- `root@antonio:/home/antonio# node -v
`
只有两个命令可以解决这个问题。
某些用户也可能在打开终端后立即收到错误消息。他们首先看到的是这个错误:
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
的 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
而不会丢失全局安装包的前缀?
我遇到了同样的问题,执行 npm config delete prefix
对我没有帮助。
但这确实发生了:
使用brew安装nvm后,创建~/.nvm
目录:
$ mkdir ~/.nvm
并在 ~/.bash_profile
中添加以下行:
export NVM_DIR=~/.nvm
. $(brew --prefix nvm)/nvm.sh
(检查你在任何 ~/.bashrc
或 ~/.profile
或 ~/.bash_profile
中是否没有其他与 nvm 相关的命令)
打开一个新终端,这次应该不会打印任何警告信息。
通过执行 nvm --version
命令检查 nvm 是否正常工作。
之后,install/reinstall NodeJS 使用 nvm install node && nvm alias default node
。
更多信息
我使用 homebrew
安装了 nvm
,然后我收到了这个通知:
Please note that upstream has asked us to make explicit managing nvm via Homebrew is unsupported by them and you should check any problems against the standard nvm install method prior to reporting.
You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
Add the following to
~/.bash_profile
or your desired shell configuration file:export NVM_DIR=~/.nvm . $(brew --prefix nvm)/nvm.sh
You can set
$NVM_DIR
to any location, but leaving it unchanged from/usr/local/Cellar/nvm/0.31.0
will destroy any nvm-installed Node installations upon upgrade/reinstall.
忽略它给我带来了这个错误信息:
nvm
is not compatible with thenpm config
"prefix" option: currently set to"/usr/local/Cellar/nvm/0.31.0/versions/node/v5.7.1"
Runnvm use --delete-prefix v5.7.1 --silent
to unset it.
我遵循了较早的指南(来自 homebrew/nvm
),之后我发现我需要重新安装 NodeJS。所以我做了:
nvm install node && nvm alias default node
它已修复。
更新: 使用 brew 安装 NVM 会导致终端启动缓慢。您可以follow this instruction解决它。
对于那些尝试从 brew 中删除 nvm 的人
仅仅 brew uninstall nvm 可能还不够
如果你看到 npm 前缀仍然是 /usr/local,运行 这个命令
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}
我在寻找 nvm 前缀问题的解决方案时发现了这个问题(在找到解决方案之前)。这是我的 shell "dialog"。我希望,它对某人有用。我能够在 post 的帮助下设置前缀: https://github.com/npm/npm/issues/6592
当我在使用 npm --prefix="" set prefix ""
之前尝试 npm config delete prefix
或 nvm use --delete-prefix
时,我只得到:
错误!不正常代码 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_DIR
文件夹(通常是 ~/.nvm
)
你可以试试 :
rm -rf ~/.nvm
将主文件夹移动到 linux 上的新驱动器后,我遇到了这个问题。已通过删除 .nvm 文件夹并重新安装 nvm
修复我在使用通过 nvm
安装的节点时 运行 进入了这个,nvm
通过自制软件安装。我通过 运行 brew uninstall nvm
、rm -rf $NVM_DIR
解决了它,然后使用 official install script 重新安装 nvm 并重新安装我需要的节点版本。
注意:我还 $NVM_DIR
安装和符号链接。我把它移回了我的主目录。
删除并重置前缀
$ npm config delete prefix
$ npm config set prefix $NVM_DIR/versions/node/v6.11.1
注意:将版本号更改为错误消息中指示的版本号。
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 v6.11.1 --silent" to unset it.
感谢@gabfiocchi 在 Github - "You need to overwrite nvm prefix"
这可能与您本地安装的 Node 有冲突(如果您过去是通过 NVM 以外的其他方式安装的)。您应该删除此节点实例:
- 删除node_modules
sudo rm -rf /usr/local/lib/node_modules
- 删除节点
sudo rm /usr/local/bin/node
- 删除节点link
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print }'| 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的评论:855#issuecomment-146115434
我有个想法。使用符号 link 解决错误,您仍然可以对全局安装的包使用您的前缀。
ln -s [your prefix path] [path in the '~/.nvm']
那么你会在~/.nvm
文件夹中有一个符号文件夹,但实际上,你的全局包仍然安装在[你的前缀路径]中。然后就不会再报错了,可以正常使用nvm use **
了。
ps:它在 mac
上对我有用。
pps:不要忘记将 $PATH
设置为您的 npm bin
文件夹以使用全局安装的包。
我遵循了
$ npm config delete prefix
$ npm config set prefix $NVM_DIR/versions/node/v6.11.1
在 运行 推荐的命令之后我的 nvm 不再工作,运行 nvm use
会显示正在使用的正确节点版本,但是 运行 node -v
会显示另一个。无法再更改节点的版本。
我完全卸载并重新安装了 nvm 来修复它。我在 https://github.com/creationix/nvm#manual-uninstall 之后关注了 运行
$ rm -rf "$NVM_DIR"
然后编辑我的 .zshrc
以删除与 nvm 相关的行,在我的例子中是
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"
然后开始一个新的 shell(这样 nvm 就不会加载到这个新的 shell 中)和 运行 https://github.com/creationix/nvm#install-script
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
它添加了 nvm 我之前在 .zshrc
.
然后我就可以像以前一样使用nvm了。我想这是一个奇怪的情况,因为出现问题并迫使我重新安装所有东西,看起来大多数人都不会因为这个问题而经历这个。
让我描述一下我的情况。
首先,检查当前配置
$ 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"
所以,我删除了 /mnt/c/Users/paul/.npmrc 中的 C:\Program Files\nodejs
。
我在 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
修正 link: https://github.com/nvm-sh/nvm/issues/1690#issuecomment-392014774
当您的 NVM 安装文件夹路径 具有 Symbolic Link.
时,可能会发生此错误说明
NVM 的默认安装路径是:$HOME/.nvm
但您的主文件夹可能是另一个驱动器的符号 link,例如我的情况。
例如,我的主文件夹是 Symbolic Link 到另一个驱动器:
/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"
我有相同的错误消息,但有其他解决方案。 curl (install.sh) 期间自动生成的路径不匹配。 检查这个:
echo $NVM_DIR
就我而言:/var/www//.nvm
。在自动生成的 bash 文件中显示并更改并替换它:(~/.bash_profile、~/.zshrc、~/.profile 或 ~/.bashrc)
替换
export NVM_DIR="$HOME/.nvm"
与(例如)
export NVM_DIR="$HOME.nvm"
我已经尝试了此线程中的每个答案,但 none 有效。按照记录 https://github.com/nvm-sh/nvm 和 curl
重新安装 nvm
解决了我的问题。
对于那些首先通过自制软件安装节点然后将 nvm 添加到系统的人。
如果您看到嘈杂的消息:nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local
您可能需要删除 node_modules 和节点本身,解决方案在上面描述得很完美^^,但下面是简单的方法。
由于 brew 自动将 env var 添加到 .bash_profile,每次 bash 加载的路径都指向最初安装的版本。
1.Go 到 ./.bash_profile 2.注释指向节点的行,像这样 #export PATH="/usr/local/opt/node@10/bin:$PATH"
下次bash应该加载由nvm安装的节点, 确保 bash_profile 包含 nvm 目录 导出 NVM_DIR="/Users/{your_user_name}/.nvm"
对我来说,我删除了行
NPM_PACKAGES="${HOME}/.npm-packages"
PATH="$NPM_PACKAGES/bin:$PATH"
来自我的 .bashrc
并且能够 运行 npm install -g package-name
而无需 sudo
权限或错误消息出现在我的 shell window.
我遇到了同样的问题,这是因为node和nodejs的npm冲突
所以通过下面的命令删除 nodejs
sudo apt-get remove nodejs
这将删除所有与 nodejs 相关的包,
在上面的命令之后,你必须运行像那样自动删除命令
sudo apt autoremove
这将解决问题,
这是我为我所做的工作
1- sudo su
2-root@antonio:/home/antonio# mv ~/.nvm /tmp/
3- root@antonio:/home/antonio# export NVM_DIR="/tmp/.nvm"
4- root@antonio:/home/antonio# nvm use --delete-prefix v17.4.0
5- `root@antonio:/home/antonio# node -v
只有两个命令可以解决这个问题。 某些用户也可能在打开终端后立即收到错误消息。他们首先看到的是这个错误:
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,这也适用。