web-dev-qa-db-ja.com

cygwinにコマンドを追加する方法-npm

私はWindows8.1でcygwinを使用してUnixシェルを使用しています。しかし、そこからnpmなどのコマンドを実行することはできません。

私はそれをするために何をすべきですか?ある種のenvvarをcygwinに追加しますか?なぜWindowsPATHを使用しないのですか?

編集:実際、私はここで問題を誤解したと思います。 npmはcygwinによって検出されたようですが、使用できません。たとえば、cygwinのgitを問題なく使用できます。

$ 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 « $'in\r' »
'cygdrive/d/Logiciels installés/nodejs/npm: line 5: `case `uname` in

したがって、実際にはnpmの問題のように見えます。

12
Vadorequest

これは、ここで説明したnpmスクリプトの問題のようです https://github.com/joyent/node/issues/5912

Nodejsがデフォルトの場所にインストールされていると仮定すると、次のdos2unixコマンドを実行してエラーを修正できます。

dos2unix c:/ Program\Files/nodejs/npm

これにより、npmスクリプトに関する問題が修正されました。

27
Tharaka

Npmコマンドでcygwinを機能させる方法

  1. インストール http://nodejs.org/#download
  2. ダウンロード http://nodejs.org/dist/npm/
  3. npm.Zipをnode.exeに抽出します
  4. cygwinターミナルを再度実行します

それだ!

4
Piseth Sok
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
3
Steven Penny

Npmスクリプトをdosエンコーディングでも機能するように修正するために、 patch。 を送信しました。

1