Как добавить команды в cygwin-npm

Я использую cygwin в windows 8.1 для создания оболочки Unix. Но я не могу запускать из него такие команды, как npm.

что я должен сделать, чтобы сделать это? Добавить какой-то env var в cygwin? Почему он не использует путь windows?

изменить: На самом деле я думаю, что неправильно понял проблему. Похоже, что npm найден cygwin, но его нельзя использовать. Например, я могу использовать git от cygwin без каких-либо проблем.

$ npm
/cygdrive/d/Logiciels installés/nodejs/npm: line 2: $'r' : command not found
/cygdrive/d/Logiciels installés/nodejs/npm: line 4: $'r' : command not found
/cygdrive/d/Logiciels installés/nodejs/npm: line 5: Syntax error around « $'inr' »
'cygdrive/d/Logiciels installés/nodejs/npm: line 5: `case `uname` in

таким образом, это больше похоже на npm вопрос.

4 ответов


Это, похоже, проблема со сценарием npm, как упоминалось здесь,https://github.com/joyent/node/issues/5912

предполагая, что вы установили nodejs в местоположении по умолчанию, вы можете запустить следующую команду dos2unix и исправить ошибку.

dos2unix c:/Program\ Files/nodejs / npm

это исправило мои проблемы со сценарием npm.


sed -i 's/\r//' "$(type -p npm)"

преобразование окончаний строк

также, несмотря на комментарий, это не повредит выполнению с cmd.exe

$ printf '@echo hello\n@echo world\n@echo doge\n' > foo.bat

$ cmd /c foo.bat
hello
world
doge

Как заставить cygwin работать с командой npm

  1. установить http://nodejs.org/#download
  2. скачать http://nodejs.org/dist/npm/
  3. извлечь npm.zip в узел.exe
  4. запустите терминал cygwin еще раз

вот оно!


чтобы исправить сценарий npm для работы даже с кодировкой dos, я отправил патч.