使用 NVM 时找不到 NPM
NPM not found when using NVM
我已经使用 nvm 文档安装了 node/npm。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
然后:
nvm install node
此时节点正在工作,但 npm 命令结果为:
npm: command not found
如何让 npm 正常工作?
我发现这与之前版本的 npm 冲突,尽管 apt-get remove node
.
我通过从头开始重新安装 npm 解决了这个问题:
rm -R ~/.npm ~/.nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
nvm install node
我找到了解决方案 here。
我通过执行以下命令解决了这个问题:
$ command -v npm
然后重新打开 shell window.
此问题尤其发生在 windows 中,这是因为缺少 cmd 的管理员权限。
如果您正在使用 Git bash
- 进入安装目录例如C:\Program Files\Git
- 右键单击属性 -> 兼容性。
- 勾选带有标签的复选框 -> 运行 作为管理员。
- 运行 git bash 再次执行 npm list 然后 npm use 'version_to_be_used'
同样适用于 Cmd
使用节点源分发安装节点:
curl -sL https://deb.nodesource.com/setup_[version].x | bash -
apt-get install -y nodejs
[version] = 想要的版本。查看存储库以选择正确的:NodeSource Node.js Binary Distributions
如果你运行NVM-Windows,别忘了运行nvm on
。 (这解决了我的标题问题。)
对于Windows:
nvm 创建从安装的节点路径如 c:\program files\node 到 c:\users\AppData\nvm
的符号链接
所以检查:
- 您在 PATH 变量中的基本节点路径。
- 你的 npm 在 c:\users
\AppData\nvm\nmp 里面,这个路径也是 PATH 变量。
你也可以运行
source ~/.bashrc
并在您下载 install.sh 命令的同一 bash 终端上再次尝试 运行:
npm -v
我遇到了同样的问题,而任何新的终端实例启动时都会显示消息 'npm not found'。我注意到我已经(可能)在 ~/.bashrc
中定义了 npm
和 node
的自定义路径。删除它们(保留 nvm 的路径)解决了问题。
我通过卸载所有有问题的节点版本(例如下面的 v14)并重新安装来解决它。
问题:
node --version; npm --version;
v14.17.1
Command 'npm' not found, but can be installed with:
sudo apt install npm
解决方法:
nvm deactivate
echo "All versions BEFORE:"
nvm_ls
# uninstall all 14.* versions
for v in $(nvm_ls 14); do nvm uninstall $v; done
echo "All versions AFTER:"
nvm_ls
# reinstall version 14
nvm install 14
# and now it has npm too
node --version; npm --version
which node; which npm
# v14.17.1
# 6.14.13
# /home/user/.nvm/versions/node/v14.17.1/bin/node
# /home/user/.nvm/versions/node/v14.17.1/bin/npm
一个可能的原因是 NVM 符号链接无效。
- 但首先,请检查
NVM_HOME
和 NVM_SYMLINK
是否已在环境路径中设置。
如果没有,可能是你的 nvm 安装有问题,你可能想重新安装。
- 使用资源管理器打开符号链接文件夹以检查该文件夹是否有效。
Windows 中的默认符号链接路径:C:\Program Files\nodejs
。符号链接在 Windows 资源管理器中显示为普通快捷方式。
如果你在那里看到节点文件,那你就没事了。
如果文件夹无效,请删除符号链接。
然后,执行nvm ls
和nvm use <desired node version>
,这一步将重新创建正确的符号链接。
- 重新启动CMD并测试
nvm current
、node -v
、npm -v
如果您使用 Windows OS,请确保您删除了现有的 nodejs 和 npm。
在我的例子中,它在我删除 C:/Program Files/nodejs 后运行良好。
引用是 here.
During nvm installation, make sure the selected path must NOT exist.
我最近遇到了类似的问题,通过将 npm 镜像设置为 npm_mirror https://github.com/npm/cli/archive/refs/tags/
解决了这个问题
默认的 npm 镜像 (https://github.com/npm/cli/archive) 已损坏 link。
所以运行
nvm npm_mirror https://github.com/npm/cli/archive/refs/tags/
我已经使用 nvm 文档安装了 node/npm。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
然后:
nvm install node
此时节点正在工作,但 npm 命令结果为:
npm: command not found
如何让 npm 正常工作?
我发现这与之前版本的 npm 冲突,尽管 apt-get remove node
.
我通过从头开始重新安装 npm 解决了这个问题:
rm -R ~/.npm ~/.nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
nvm install node
我找到了解决方案 here。
我通过执行以下命令解决了这个问题:
$ command -v npm
然后重新打开 shell window.
此问题尤其发生在 windows 中,这是因为缺少 cmd 的管理员权限。
如果您正在使用 Git bash
- 进入安装目录例如C:\Program Files\Git
- 右键单击属性 -> 兼容性。
- 勾选带有标签的复选框 -> 运行 作为管理员。
- 运行 git bash 再次执行 npm list 然后 npm use 'version_to_be_used'
同样适用于 Cmd
使用节点源分发安装节点:
curl -sL https://deb.nodesource.com/setup_[version].x | bash -
apt-get install -y nodejs
[version] = 想要的版本。查看存储库以选择正确的:NodeSource Node.js Binary Distributions
如果你运行NVM-Windows,别忘了运行nvm on
。 (这解决了我的标题问题。)
对于Windows:
nvm 创建从安装的节点路径如 c:\program files\node 到 c:\users
所以检查:
- 您在 PATH 变量中的基本节点路径。
- 你的 npm 在 c:\users
\AppData\nvm \nmp 里面,这个路径也是 PATH 变量。
你也可以运行
source ~/.bashrc
并在您下载 install.sh 命令的同一 bash 终端上再次尝试 运行:
npm -v
我遇到了同样的问题,而任何新的终端实例启动时都会显示消息 'npm not found'。我注意到我已经(可能)在 ~/.bashrc
中定义了 npm
和 node
的自定义路径。删除它们(保留 nvm 的路径)解决了问题。
我通过卸载所有有问题的节点版本(例如下面的 v14)并重新安装来解决它。
问题:
node --version; npm --version;
v14.17.1
Command 'npm' not found, but can be installed with:
sudo apt install npm
解决方法:
nvm deactivate
echo "All versions BEFORE:"
nvm_ls
# uninstall all 14.* versions
for v in $(nvm_ls 14); do nvm uninstall $v; done
echo "All versions AFTER:"
nvm_ls
# reinstall version 14
nvm install 14
# and now it has npm too
node --version; npm --version
which node; which npm
# v14.17.1
# 6.14.13
# /home/user/.nvm/versions/node/v14.17.1/bin/node
# /home/user/.nvm/versions/node/v14.17.1/bin/npm
一个可能的原因是 NVM 符号链接无效。
- 但首先,请检查
NVM_HOME
和NVM_SYMLINK
是否已在环境路径中设置。
如果没有,可能是你的 nvm 安装有问题,你可能想重新安装。 - 使用资源管理器打开符号链接文件夹以检查该文件夹是否有效。
Windows 中的默认符号链接路径:C:\Program Files\nodejs
。符号链接在 Windows 资源管理器中显示为普通快捷方式。
如果你在那里看到节点文件,那你就没事了。
如果文件夹无效,请删除符号链接。
然后,执行nvm ls
和nvm use <desired node version>
,这一步将重新创建正确的符号链接。 - 重新启动CMD并测试
nvm current
、node -v
、npm -v
如果您使用 Windows OS,请确保您删除了现有的 nodejs 和 npm。 在我的例子中,它在我删除 C:/Program Files/nodejs 后运行良好。 引用是 here.
During nvm installation, make sure the selected path must NOT exist.
我最近遇到了类似的问题,通过将 npm 镜像设置为 npm_mirror https://github.com/npm/cli/archive/refs/tags/
解决了这个问题默认的 npm 镜像 (https://github.com/npm/cli/archive) 已损坏 link。
所以运行
nvm npm_mirror https://github.com/npm/cli/archive/refs/tags/