我刚刚在Windows机器上安装了Git SCM。我的机器较早安装了Node。我可以在git bash中使用node -v。但是,为什么我能够在Git Bash中而不是WSL Bash中使用Windows应用程序。
内部WSL重击-
hello@comp:~$ node -v
Command 'node' not found, but can be installed with:
sudo apt install nodejs
内部Git Bash-
hello@comp MINGW64
$ node -v
v12.10.0
答案 0 :(得分:2)
WSL是类似于Linux的兼容性层。您在WSL之上运行Linux应用程序,他们认为它们在Linux上本地运行,而系统调用正在转换为Windows OS系统调用(WSL2-尚未发布-是在Windows内部运行的完整Linux内核)。您确实可以通过/ mnt / c / ...访问Windows文件,但是就Windows-Linux互操作性而言,这就是您可以期望的。
另一方面,Git-bash是 Windows 应用程序-运行Windows应用程序的外壳。其中一些可以使用Linux兼容 library (Cygwin)进行编译。但是他们不必如此。这样提供的“ Linux风格”经验较少,但是如果您只需要一些Linux命令行工具并且不需要安装成熟的Linux可执行文件,则可能是一个不错的折衷方案。
答案 1 :(得分:-1)
两个“环境”的PATH定义都不相同。检查节点的目录是否显示在Git bash上,而不显示在WSL Bash中。在两种环境中都运行此程序:
echo $PATH