В чем разница между Git Bash и WSL - PullRequest
       117

В чем разница между Git Bash и WSL

0 голосов
/ 19 сентября 2019

Я только что установил Git SCM на мой компьютер с Windows.На моей машине ранее был установлен Node.Я могу использовать узел -v в git bash.Но почему я могу использовать приложения Windows внутри Git Bash, а не в 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

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

WSL - это уровень совместимости с Linux.Вы запускаете приложения Linux поверх WSL, и они думают, что они изначально работают в Linux, в то время как системные вызовы переводятся в системные вызовы ОС Windows (WSL2 - еще не выпущенный - это полноценное ядро ​​Linux, работающее внутри Windows).Вы получаете доступ к файлам Windows через / mnt / c / ..., но это все, что вы можете ожидать с точки зрения совместимости Windows-Linux.

Git-bash, с другой стороны, это Windows app - оболочка для запуска приложений Windows.Некоторые из них могут быть скомпилированы с совместимостью с Linux library (Cygwin).Но они не должны быть.Это обеспечивает меньше "Linux-подобного" опыта, но может быть хорошим компромиссом, если вам нужны только инструменты командной строки Linux и вам не нужно устанавливать полнофункциональные исполняемые файлы Linux.

0 голосов
/ 19 сентября 2019

Определение PATH для обеих «сред» различно.Убедитесь, что каталог узла отображается на Git bash, а не на WSL Bash.Запустите это в обеих средах:

echo $PATH
...