我无法在 WSL2 ON(ubuntu 终端)的 Windows 10 上使用 npm 命令

I can't use the npm command on Windows 10 with WSL2 ON (ubuntu terminal)

我正在尝试让 npm 命令运行,但它不想运行。 正如我在标题中所说,我正在使用 windows WSL2。很久以前我已经用 Git Bash 安装了 nodejs 但现在我需要它在我的 ubuntu 终端上工作。我该如何解决这个问题?

我的ubuntu终端:

root@DESKTOP-U2RC2DU:~# node -v
v10.19.0
root@DESKTOP-U2RC2DU:~# npm
-bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory
root@DESKTOP-U2RC2DU:~#

检查您在 WSL 中的路径。如果在 Linux 版本之前找到 Windows 版本,可能会导致问题。

据我所知,有一些可能的解决方法:

  1. 创建一个启动脚本(例如 bashrc 或您选择的 shell 的等价物)从路径中删除 Windows 节点,或者至少给出 Linux 版本优先级更高。可能最简单的解决方案是 在路径前添加 任何 Linux 版本位置。

  2. 创建一个/etc/wsl.conf...

    [interop]
    appendWindowsPath = false
    

    这将从 WSL 会话中删除 所有 Windows 路径。缺点是一些有用的 Windows 实用程序将不再位于 WSL 路径中,但您始终可以在启动脚本中手动添加它们。从脚本的角度来看,这可能比手动删除路径更容易,至少。

  3. 如果您不再需要它,并且将专门使用 Linux/WSL 版本,您可以卸载 Windows nodejs。