如何使用 WSL2 在 Ubuntu 中安装 npm 包?

如何使用 WSL2 在 Ubuntu 中安装 npm 包?

我已经使用 WSL2 安装了 Ubuntu。

现在在工作目录中\\wsl$\Ubuntu\home\ponomarchukov\nodejs我尝试安装 npm 包:

npm install express

因此,我收到此错误:

-bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory

如何解决这个问题?

答案1

您使用的shellnpm脚本末尾有一个回车符 (Ctrl-M,ASCII 13)。在 Unix 系统上,在 shell 脚本中指定回车符是错​​误的;您的行必须仅以换行符结尾。即使您使用的是 Git for Windows 附带的 bash 版本,情况也是如此。

您应该弄清楚npmshell 脚本的来源,并对其进行修复,使其不包含回车符。您可能希望使用 之类的程序来执行此操作dos2unix。如果您看到此信息是因为您使用 Git 签出,请阅读gitattributes手册页以了解有关如何将某些文件设置为始终具有 Unix 行尾 ( eol=lf) 的更多信息。

答案2

您是否真的在所使用的终端中启动了 WSL?另外,您是否在 Ubuntu 中安装了 node/npm?看起来它正在使用 Windows 安装中的 npm。我可以推荐没有记录,它有一个简单的安装脚本 - 这是一个节点的下载管理器,允许在 Linux 上轻松安装/更新节点/npm。

相关内容