Próbuję zbudować d3.js pod Windows. Zainstalowałem cygwin, aby uruchomić plik Makefile. Jednakże, jako część make install, wywołuje „npm install”, a to wywołanie kończy się niepowodzeniem:Budowanie d3.js na Windows (Cygwin) - dobre obejście problemu dotyczącego ścieżki "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
Problemy wydaje się, że Cygwin przedrostek ścieżki („cygdrive \ c”) jest dodawany do ścieżki pliku (poza tym ścieżka jest poprawna).
Zastanawiam się, czy istnieje dobre obejście tego problemu? Próbowałem wyeksportować zmienną NODE_PATH, a także zmienić ją w pliku Makefile. Nie wpływa to jednak na ten błąd (i wolałbym zachować plik Makefile, jaki jest).
EDYTOWANIE: działało, gdy nazwałem "npm install" z wiersza poleceń Webstorm (bez cygwin). Musiałem ręcznie zainstalować contextify (wymóg jsdom) ("npm install contextify -f", a następnie skopiuj plik .node z https://github.com/Benvie/contextify/downloads do build/Release dla contextify), a następnie uruchomić "npm install jsdom" i "npm install vows" .
Zostało to naprawione w npm, ponieważ pytanie zostało odebrane: https://github.com/isaacs/npm/issues/2465 – pkh