Я пытаюсь собрать d3.js под Windows. Я установил cygwin для запуска make-файла. Однако как часть make install он вызывает '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 как есть).
РЕДАКТИРОВАТЬ: Это сработало, когда я вызвал npm install из командной строки Webstorm (без cygwin). Мне пришлось установить contexttify (требование jsdom) вручную ('npm install contexttify -f', а затем скопировать файл .node из https://github.com/Benvie/contextify/downloads в build / Release для contexttify), а затем запустить npm install jsdom и npm install vows.