Windowsでd3.jsをビルドしようとしています。 makefileを実行するためにcygwinをインストールしました。ただし、インストールメイクの一環として、それは、NPMインストール」を呼び出し、この呼び出しが失敗した:Windows(Cygwin)上のd3.jsのビルド - 'npm install'のパスの問題を解決する良い方法はありますか?
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'C:\cygdrive\c\Program Files (x86)\nodejs\node_modules\npm\bin\npm-cli.js'
at Function._resolveFilename (module.js:332:11)
at Function._load (module.js:279:25)
at Array.0 (module.js:479:10)
at EventEmitter._tickCallback (node.js:192:40)
Makefile:230: recipe for target `install' failed
make: *** [install] Error 1
問題はcygwinのパスのプレフィックス(「cygdriveのの\ cが」)ファイルパスに追加されていることのようです(それ以外はパスが正しい)。
この問題の適切な回避策があるのでしょうか?私はNODE_PATH変数をエクスポートし、Makefileでそれを変更しようとしました。しかし、これはこのエラーには影響しません(そして私はMakefileをそのまま保つことを望みます)。
EDIT:Webstormのコマンドライン(cygwinなし)から「npm install」を呼び出すと機能しました。私はcontextify(jsdomの要件)を手動でインストールする必要がありました( 'npm install contextify -f').nodeファイルをhttps://github.com/Benvie/contextify/downloadsからbuild/Releaseにコピーして 'npm install jsdom'と 'npm install vows'を実行する必要がありました。それはcygwinのを意識しているように、
これは質問に答えたのでnpmで修正されました:https://github.com/isaacs/npm/issues/2465 – pkh