Как установить пакеты npm в Ubuntu с помощью WSL2?

Как установить пакеты npm в Ubuntu с помощью WSL2?

Я установил Ubuntu с помощью WSL2.

Теперь в рабочем каталоге \\wsl$\Ubuntu\home\ponomarchukov\nodejsпробую установить пакеты npm:

npm install express

Итак, я получаю эту ошибку:

-bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory

Как решить эту проблему?

решение1

В используемом вами скрипте npmоболочки есть возврат каретки (Ctrl-M, ASCII 13) в конце. В системах Unix указание возврата каретки в скрипте оболочки является ошибкой; ваши строки должны заканчиваться только переводами строк. Даже если вы используете версию bash, которая поставляется с Git для Windows, это также так.

Вам следует выяснить, откуда вы получаете свой npmскрипт оболочки, и исправить его так, чтобы он не содержал возвратов каретки. Вы можете сделать это с помощью программы вроде dos2unix. Если вы видите это, потому что проверили его с помощью Git, прочитайте gitattributesстраницу руководства, чтобы узнать больше о том, как настроить определенные файлы так, чтобы они всегда имели окончания строк Unix ( eol=lf).

решение2

Вы действительно запустили WSL в терминале, который используете? Также, вы установили node/npm в Ubuntu? Похоже, что он использует npm из установки Windows. Могу порекомендоватьнвм, который имеет простой скрипт установки - это менеджер загрузок для node и позволяет легко устанавливать/обновлять node/npm на Linux.

Связанный контент