我最近开始使用西弗吉尼亚海岸,我已经安装了zsh
并完成了一些配置。
但是,我无法npm
在 WSL bash 窗口中使用命令。我可以npm
在 Git Bash Cygwin、命令提示符等中愉快地使用。但如果我在 Windows 上的 Ubuntu 的 Bash 中尝试该命令,我会收到以下错误:
$ npm init
zsh: command not found: npm
这是zsh
配置错误吗?或者我该如何解决这个问题?
编辑(已修复):我收到了来自 Windows 上的 Bash Github 贡献者的以下反馈。本质上这意味着你必须在 WSL 上安装某些运行时(例如 NodeJs),即使它们已经存在于 Windows 上,以便在 Windows 上的 Bash 中使用这些运行时。我已经在 WSL 上安装了 Node,它运行良好。
您应该将 WSL 视为在 Windows 上运行的轻量级 Linux 子系统,类似于容器。Windows 和 WSL 上的运行时应该被视为独立的,但随着两者之间的互操作,界限可能会开始变得模糊。例如,如果您在两个环境中都安装了 perl,则可以使用 WinPE perl.exe 或 elf64 perl 运行。
答案1
根据您的 Windows 版本号,这可能是或可能不是正常的。
在 WSL 发布会上,主持人表示,当时 WSL 无法启动 Windows 应用,Windows 也无法启动 Linux 应用。其中包括版本号 14393.x。(Windows 10 周年更新版)
2016 年 10 月 25 日,据报道在版本 #14951 中添加了 Windows <-> WSL 互操作性。因此,如果您不想使用 Windows 10 测试版,则必须等到 Creators Update 发布。
更新:OP 还发现了一种解决方法:佳博