【问题标题】:npm install error `not foundram Files/nodejs/npm: 3: /mnt/c/Program Files/nodejs/npm:`npm 安装错误`not foundram Files/nodejs/npm: 3: /mnt/c/Program Files/nodejs/npm:`
【发布时间】:2023-04-01 19:05:01
【问题描述】:

我已经在 Windows 上安装了 Ubuntu Bash。我的 Windows 机器上已经有 nodejsnpm C:\Program Files\nodejs。在 Windows 的 bash shell 中,我正在运行一个使用 npm install 命令的脚本。脚本出现以下错误

: not foundram Files/nodejs/npm: 3: /mnt/c/Program Files/nodejs/npm:
: not foundram Files/nodejs/npm: 5: /mnt/c/Program Files/nodejs/npm:
/mnt/c/Program Files/nodejs/npm: 6: /mnt/c/Program Files/nodejs/npm: Syntax error: word unexpected (expecting "in")

【问题讨论】:

  • 即使在 Windows 上的 Ubuntu 中安装 nodejs 后我也得到了这个,解决方案是重新启动 bash shell。

标签: npm-install


【解决方案1】:

注意:在执行以下步骤之前,请先尝试重新启动您的 shell。

您也可以使用 Windows PowerShell 安装 Node.js 和 NPM,因此如果您这样做了,它将无法在您的子系统中正常工作。这意味着您必须安装它两次(Powershell 和子系统)或决定一件事。

如果前面的文字,没有帮助到你,这是如何解决问题的:
删除您当前的安装

sudo apt-get --purge remove node
("sudo apt autoremove node" if console is asking for it)
sudo apt-get --purge remove nodejs

以正确的方式安装节点。 这是版本 14 (view current LTS version):

curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

然后安装构建工具,以便您以后可以为 npm 安装附加组件

sudo apt-get install -y build-essential

现在你可以输入

npm -v
node -v
Same thing: nodejs -v

检查 Node.js 和 NPM 是否安装正确。如果没有显示,重新启动 shell。 如果仍然显示相同的错误,重新启动 WSL/PC 或尝试使用sudo npm -v

这里有两个链接也可能对您有所帮助。
https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions https://github.com/nodesource/distributions/blob/master/README.md#debinstall

另外,看看Node Version Manager (NVM)。有了它,您可以轻松地在版本之间来回切换。

【讨论】:

  • 根据上面 Rosdi 的评论,按照这些步骤然后重新启动 Ubuntu Bash Shell 对我有用。
  • sudo apt install notenode?无论如何,仍然失败
  • 安装 sudo npm install -g npx 并刷新 shell 对我来说效果很好。谢谢!
  • 重启 bash 解决了我的问题。谢谢
【解决方案2】:

在 Visual Studio -> 工具 -> 选项 -> 项目和解决方案 -> Web 包管理 -> 确保 $(PATH) 高于其他所有内容。

只要它不在列表顶部,VS 就会尝试使用 VS 工具而不是 npm。

在尝试npm --version 之后,您还应该按照此屏幕截图将 windows 引用到当前的 npm 版本。

改变 npm 路径:

【讨论】:

    【解决方案3】:

    我刚刚通读了许多试图做到这一点的线程。有在 wsl 中设置 node、nvm 和 npm 的完整文档,在这里:https://docs.microsoft.com/en-us/windows/nodejs/setup-on-wsl2

    如果您已经使用以下命令安装了 node 和 npm,

    sudo apt-get install nodejs
    sudo apt-get install npm
    

    NPM 将不起作用。您必须首先使用以下命令卸载它们:

    sudo apt-get remove nodejs
    sudo apt-get remove npm
    

    按照此处的指南完全卸载:How can I completely uninstall nodejs, npm and node in Ubuntu

    然后从上面引用的 Windows 指南重新安装。 Windows 指南还有许多其他有用的资源。

    要安装的 Tldr(来自 Microsoft Docs):

    sudo apt-get install curl
    
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
    
    nvm install --lts
    

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题。这就是我所做的。

      第 1 步。 在 Windows PowerShell 中键入 node -vnpm -v 命令并检查 node 和 npm 是否已正确安装

      第 2 步。将此添加到 ~/.zshrc~/.bashrc 文件中

      export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
      

      第 3 步。 输入 source ~/.zshrc 和/或 source ~/.bashrc

      第 4 步。bashzsh shell 中键入 node -vnpm -v 命令,现在应该会出现正确的版本

      【讨论】:

      • 你能解释一下第二步的作用吗?
      【解决方案5】:

      用于安装nodejsnpm 的Linux 命令

      sudo apt-get install nodejs
      sudo apt-get install npm
      

      在linux中设置路径

      export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
      

      参考 https://github.com/microsoft/WSL/issues/3882

      【讨论】:

        【解决方案6】:

        我遇到了同样的错误,它可能看起来很愚蠢,但我通过在控制台中输入 exit 并再次打开它来修复它。

        【讨论】:

          【解决方案7】:

          当我运行 Windows 10 版本 1703 时,我在 Debian 和 Ubuntu 中都遇到了这个问题(尽管在 Ubuntu 中nvm 命令确实有效)。然后当我升级到版本 1903 时,问题就消失了。

          【讨论】:

          • 其余的都不适用于 npm,但确实如此,尽管安装 nvm 花了很长时间。
          【解决方案8】:
          curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
          sudo apt-get install -y nodejs
          

          这就够了,如果你仍然遇到问题

          节点安装需要重新启动,关闭你的ubuntu窗口并重新启动它会解决你的问题:)

          【讨论】:

            【解决方案9】:

            我有同样的问题要解决我在我的子系统中安装了“NVM”

            按照以下步骤操作,看看它是否能为您解决问题:

            sudo apt-get update
            
            sudo apt-get install build-essential libssl-dev
            
            curl -sL https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh -o install_nvm.sh
            
            bash install_nvm.sh
            
            source ~/.profile
            
            nvm install 11.13.0
            

            【讨论】:

              【解决方案10】:

              我在修改“~/.bashrc”文件以缩短 bash 目录时收到此错误。

              一开始我有:

              if [ "$color_prompt" = yes ]; then
                          PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\W\[\033[00m\]\$ '
                  else
                              PS1='${debian_chroot:+($debian_chroot)}\u\h:\W\$'
                      fi
              

              ....但随后无法运行任何节点操作。我将其回滚,错误停止发生。

              经过一些故障排除后,我能够通过在 PS1='${debian_chroot:+($debian_chroot)}\u\h:\W\~$ 上的 $ 之前添加 ~ 来修复错误

              【讨论】:

                【解决方案11】:

                你可以试试sudo npm install,这在我的特殊情况下是一个解决方案。

                【讨论】:

                • 应该避免这种情况,因为现在您是以 root 身份安装的。您应该只以当前用户身份安装东西,除非您有充分的理由以 root 用户身份安装。
                【解决方案12】:

                phucanhapril 于 2017 年 5 月 24 日在 this thread 提供的解决方案对我有用。

                总结一下,编辑 ~/.profile 并将您的 PATH 更改为:

                PATH="$HOME/bin:$HOME/.local/bin:/usr/bin:$PATH"
                

                (默认不包含/usr/bin)

                然后运行:

                source ~/.profile
                

                我不太清楚为什么 npm 首先不能正常工作,或者为什么 /usr/bin 默认不在 PATH 中,但该解决方案对我有用。

                【讨论】:

                • 我在适用于 Linux 的 Windows 子系统上遇到了这个问题。它有帮助。谢谢!
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2020-07-08
                • 2015-02-24
                • 2023-04-04
                • 1970-01-01
                • 1970-01-01
                • 2018-12-20
                • 2019-06-25
                相关资源
                最近更新 更多