使用NVM时找不到NPM

问题描述 投票:0回答:14

我已经使用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 正常工作?

node.js npm nvm
14个回答
53
投票

我发现这与以前版本的 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

我找到了解决方案这里


35
投票

如果您运行 NVM-Windows,请不要忘记运行

nvm on
。 (这解决了我的标题问题。)


19
投票

我通过执行以下命令修复了此问题:

$ command -v npm

然后重新打开 shell 窗口。


7
投票

我通过卸载所有有问题的节点版本(例如下面的 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


7
投票

如果您使用Windows操作系统,请确保删除现有的nodejs和npm。 就我而言,删除 C:/Program Files/nodejs 后它运行良好。 参考是这里

在nvm安装过程中,确保所选路径不存在。


6
投票

此问题尤其发生在 Windows 中,这是由于缺少 cmd 的管理员权限而发生的。

如果您使用的是 Git bash

  1. 进入安装目录,例如 C:\Program Files\Git
  2. 右键属性->兼容性。
  3. 勾选带有标签的复选框 -> 以管理员身份运行。
  4. 再次运行 git bash 并执行 npm list,然后 npm use 'version_to_be_used'

Cmd 也一样


3
投票

一个可能的原因是 NVM 符号链接无效。

  1. 但首先,检查
    NVM_HOME
    NVM_SYMLINK
    是否已在环境路径中设置。
    如果没有,可能是您的 nvm 安装出现问题,您可能需要重新安装。
  2. 使用资源管理器打开符号链接文件夹以检查该文件夹是否有效。
    Windows 中的默认符号链接路径:
    C:\Program Files\nodejs
    。符号链接在 Windows 资源管理器中显示为普通快捷方式。

    如果您在其中看到节点文件,那么就没有问题。
    如果该文件夹无效,请删除符号链接。
    然后,执行
    nvm ls
    nvm use <desired node version>
    ,这一步将重新创建正确的符号链接。
  3. 重新启动 CMD 并测试
    nvm current
    node -v
    npm -v

2
投票

对于 Windows:

nvm 从已安装的节点路径(如 c:\program files)创建符号链接 致敬 c:\users\AppData 虚拟机

所以检查:

  1. PATH 变量中的基本节点路径。
  2. 你的 npm 位于 c:\users\AppData 中 虚拟机 mp 并且该路径也是 PATH 变量中的一个。

1
投票

你也可以跑步

源~/.bashrc

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

npm -v


1
投票

我最近遇到了类似的问题,并通过将 npm 镜像设置为 npm_mirror 来解决它https://github.com/npm/cli/archive/refs/tags/

默认的 npm 镜像 (https://github.com/npm/cli/archive) 是一个损坏的链接。

所以跑吧

nvm npm_mirror https://github.com/npm/cli/archive/refs/tags/

0
投票

当任何新的终端实例启动时,我遇到了同样的问题,并显示消息“npm not found”。我注意到我已经在

npm
 中定义了(可能)到 node
~/.bashrc
的自定义路径。删除它们(保留 nvm 的路径)解决了问题。


0
投票

这对我有帮助:https://github.com/coreybutler/nvm-windows/issues/548#issuecomment-768297716向NVM_SYMLINK环境变量添加引号:

"C:\Program Files\nodejs"
而不是
C:\Program Files\nodejs


0
投票

对我来说,只有在

之后才起作用
  1. 通过 .exe 软件包重新安装 nvm,以及
  2. 以 Windows 能够将所有内容正确添加到环境变量的方式重新安装节点版本
  • nvm 卸载 < nodeversion >
  • nvm 安装 < nodeversion >
  • nvm 使用 < node 版本 >
  • npm -v 应该显示你的 npm 版本

请记住以管理员身份运行提示中的所有内容,以避免符号链接权限问题。


-3
投票

使用节点源分发安装节点:

curl -sL https://deb.nodesource.com/setup_[version].x | bash -
apt-get install -y nodejs

[版本] = 想要的版本。请参阅存储库以选择正确的:NodeSource Node.js Binary Distributions

© www.soinside.com 2019 - 2024. All rights reserved.