【问题标题】:In WSL2: Ubuntu 20.04 for Windows 10 nodejs is installed but npm is not working在 WSL2 中:安装了适用于 Windows 10 nodejs 的 Ubuntu 20.04,但 npm 无法正常工作
【发布时间】:2020-12-22 06:36:42
【问题描述】:

我在我的 Windows 10 操作系统中使用 WSL2: Ubuntu 20.04。我已经使用命令sudo apt-get install -y nodejs 安装了nodejs,当我执行node -v 命令时,我得到v12.18.3

mrd@DESKTOP-2EO5K4H:/mnt/c/Users/musfi$ 节点 -v v12.18.3

但是当我执行npm -v 命令时,我会得到以下命令

mrd@DESKTOP-2EO5K4H:/mnt/c/Users/musfi$ npm -v -bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: 没有这样的文件或目录

我也做whereis 命令。希望这将有助于找到解决方案。

mrd@DESKTOP-2EO5K4H:/mnt/c/Users/musfi$ whereis 节点 节点:/usr/bin/node /usr/include/node /mnt/c/Program Files/nodejs/node.exe /usr/share/man/man1/node.1.gz mrd@DESKTOP-2EO5K4H:/mnt/c/Users/musfi$ whereis npm npm:/usr/bin/npm /mnt/c/Program Files/nodejs/npm /mnt/c/Program Files/nodejs/npm.cmd /usr/share/man/man1/npm.1

我已经尝试了几乎所有的 stackoverflow 解决方案和 github 问题,但没有一个对我有用。
希望任何善良的灵魂都能解决这个问题。提前致谢。

【问题讨论】:

    标签: node.js npm windows-10 windows-subsystem-for-linux ubuntu-20.04


    【解决方案1】:

    试试这个

    export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    sudo apt install npm
    

    【讨论】:

    • 成功了。你能解释一下你导出的是哪个 PATH 吗?问题是什么?
    • PATH 是环境变量,它告诉在哪里查找命令,在您的情况下,npm bin 不在正确的路径上。
    【解决方案2】:

    以下错误的解决方法: -bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory

    编辑~/.bashrc 在文件末尾追加:

    # strip out problematic Windows %PATH%
    PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g')
    

    现在npm init 可以工作了。

    【讨论】:

      【解决方案3】:

      对于所有 Unix/Linux/MacOS 操作系统,我总是宁愿使用“节点版本管理器”。它通常可以在 Linux 和 MacOS 上完美运行(并且还有一个 Windows 端口),并且可以通过一种非常简单的方式正确安装 nodenpm 而无需成为 root

      请看这里:https://github.com/nvm-sh/nvm

      我可以在我的机器上确认它也适用于 WSL2 上的 Ubuntu 20.04。

      【讨论】:

      • nvm(和n)是反模式
      【解决方案4】:

      更好的方法是在 Windows 用户目录中配置 /etc/wsl.conf

      将此添加到/etc/wsl.conf,因此 Windows 路径不会优先

      [interop]
      appendWindowsPath=false
      

      有关更多配置详情,请查看 Microsoft 开发人员博客 here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-01-13
        • 1970-01-01
        • 1970-01-01
        • 2015-09-18
        • 2020-11-11
        • 2021-04-20
        • 2021-03-16
        相关资源
        最近更新 更多