我刚刚在我的Windows机器上安装了Git SCM。我的机器之前安装了Node。我可以在git bash中使用node -v。但是,为什么我可以在Git Bash中使用windows应用程序,而不能在WSL Bash中使用。
WSL Bash内幕-
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
发布于 2019-09-19 19:36:34
WSL是一个类似Linux的兼容层。您在WSL之上运行Linux应用程序,当系统调用被转换为Windows系统调用时,他们认为自己在本地运行(WSL2 --尚未发布--是在Windows中运行的一个完整的Linux内核)。您确实可以通过/mnt/c/访问Windows文件...但就Windows-Linux互操作性而言,这就是您所能期望的全部。
另一方面,Git-bash是一个Windows应用程序--一个运行windows应用程序的shell。其中一些可能是用Linux兼容性库(Cygwin)编译的。但他们不一定非得如此。这提供了一种不那么“类似Linux”的体验,但如果您只需要一些Linux命令行工具,并且不需要安装完整的Linux可执行文件,那么这可能是一个很好的折衷方案。
发布于 2019-09-19 19:30:58
两个“环境”的路径定义是不同的。检查节点的dir是否显示在Git Bash上,而不是显示在WSL Bash中。在两个环境中运行以下命令:
echo $PATH
https://stackoverflow.com/questions/58016512
复制