4

Я недавно начал использовать WSL, я установил zsh и выполнил некоторые настройки.

Однако я не могу использовать команды npm в окне WSL bash. Я могу с радостью использовать npm в Git Bash Cygwin, командной строке и т.д. Но если я попробую команду в Bash для Ubuntu в Windows, я получу следующую ошибку:

$ npm init
zsh: command not found: npm

Это ошибка конфигурации zsh или как мне решить эту проблему?

РЕДАКТИРОВАТЬ (Исправлено): я получил нижеприведенный отзыв от автора Bash на Windows Github. По сути, это означает, что вы должны установить определенные среды выполнения (например, NodeJ) в WSL, даже если они уже существуют в Windows, чтобы использовать эти среды выполнения в Bash в Windows. Я установил Node на WSL, и он работает отлично.

Вы должны думать о WSL как о легкой подсистеме Linux, которая работает в Windows подобно контейнеру. Время выполнения в Windows и WSL следует считать независимым, но при взаимодействии между этими двумя линиями могут начаться размытие. Например, если у вас установлен perl в обеих средах, вы можете либо запустить с WinPE perl.exe, либо с perl elf64.

1 ответ1

0

В зависимости от вашего номера сборки Windows, это может быть или не быть нормальным.

Во время запуска WSL докладчик заявил, что в то время WSL не мог запускать приложения Windows, а Windows не могла запускать приложения Linux. Это включает в себя номер сборки 14393.x. (Windows 10 с годовым обновлением)

Эта проблема позже отмечена на сайте WSL GitHub.

25 октября 2016 года было сообщено, что функциональность Windows <-> WSL была добавлена в сборку № 14951. Поэтому, если вы не хотите использовать бета-версию Windows 10, вам придется подождать, пока не будет выпущено обновление Creators.

Обновление: OP также обнаружил обходной путь: cbwin

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .