使用 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

  1. 进入安装目录例如C:\Program Files\Git
  2. 右键单击属性 -> 兼容性。
  3. 勾选带有标签的复选框 -> 运行 作为管理员。
  4. 运行 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

的符号链接

所以检查:

  1. 您在 PATH 变量中的基本节点路径。
  2. 你的 npm 在 c:\users\AppData\nvm\nmp 里面,这个路径也是 PATH 变量。

你也可以运行

source ~/.bashrc

并在您下载 install.sh 命令的同一 bash 终端上再次尝试 运行:

npm -v

我遇到了同样的问题,而任何新的终端实例启动时都会显示消息 'npm not found'。我注意到我已经(可能)在 ~/.bashrc 中定义了 npmnode 的自定义路径。删除它们(保留 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 符号链接无效。

  1. 但首先,请检查 NVM_HOMENVM_SYMLINK 是否已在环境路径中设置。
    如果没有,可能是你的 nvm 安装有问题,你可能想重新安装。
  2. 使用资源管理器打开符号链接文件夹以检查该文件夹是否有效。
    Windows 中的默认符号链接路径:C:\Program Files\nodejs。符号链接在 Windows 资源管理器中显示为普通快捷方式。
    如果你在那里看到节点文件,那你就没事了。
    如果文件夹无效,请删除符号链接。
    然后,执行nvm lsnvm use <desired node version>,这一步将重新创建正确的符号链接。
  3. 重新启动CMD并测试nvm currentnode -vnpm -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/