【问题标题】:NPM not found when using NVM使用 NVM 时找不到 NPM
【发布时间】:2016-02-25 17:40:58
【问题描述】:

我已经使用 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


    【解决方案1】:

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

    在 nvm 安装期间,确保所选路径不得存在。

    希望它可以帮助您节省时间!

    【讨论】:

      【解决方案2】:

      一个可能的原因是 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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 感谢您的评论。它解决了我的问题。
        【解决方案4】:

        当任何新的终端实例启动时显示消息“未找到 npm”时,我遇到了同样的问题。我注意到我已经在 ~/.bashrc 中定义了(可能)到 npmnode 的自定义路径。删除它们(保留 nvm 的路径)解决了问题。

        【讨论】:

          【解决方案5】:

          你也可以跑

          来源 ~/.bashrc

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

          npm -v

          【讨论】:

            【解决方案6】:

            适用于 Windows

            nvm 从已安装的节点路径(如 c:\program files\node)创建符号链接到 c:\users\AppData\nvm

            所以检查:

            1. PATH 变量中的基本节点路径。
            2. 您的 npm 在 c:\users\AppData\nvm\nmp 内,并且此路径也是 PATH 变量的整数。

            【讨论】:

              【解决方案7】:

              如果您运行 NVM-Windows,请不要忘记运行 nvm on。 (这解决了我的标题问题。)

              【讨论】:

              • 不起作用。也许是因为我没有使用安装程序安装以前的节点?我手动配置环境路径
              【解决方案8】:

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

              【讨论】:

              • 请注意复制和粘贴整个字符串的任何人:您可能想要使用a newer version of the nvm install script
              • 更新了链接。但是,就像前面所说的,最新的总是可以从存储库中找到。
              • 对我不起作用——我从未安装过 nodejs、npm 或 nvm,无论如何都尝试过:apt-get update --quiet && apt-get purge -y nodejs npm && apt-get autoremove -y && rm -rf ~/.npm ~/.nvm && apt-get clean
              【解决方案9】:

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

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

              [version] = 想要的版本。查看仓库选择正确的:NodeSource Node.js Binary Distributions

              【讨论】:

              • nvm 还使用源分发安装节点。但是,nvm 保留了节点版本,因此您可以快速升级和重新安装所有全局模块。
              • 这不是问题要问的。最好不要建议仅使用其他内容作为答案,因为除非必要,否则它不会回答 OP 的问题。 OP 使用 NVM 显然是有原因的(例如,可以在节点版本之间切换)。
              【解决方案10】:

              这个问题尤其发生在 windows 中,因为缺少 cmd 的管理员权限。

              如果你使用的是 Git bash

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

              Cmd 也是如此

              【讨论】:

                【解决方案11】:

                我通过执行以下命令解决了这个问题:

                $ command -v npm

                然后重新打开 shell 窗口。

                【讨论】:

                猜你喜欢
                • 2017-05-14
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2019-11-21
                • 1970-01-01
                • 2019-07-06
                • 1970-01-01
                相关资源
                最近更新 更多