Проблемма всплывает каждый раз, когда я пытаюсь установить нестандартный (непопулярный) модуль для node/io.js.
Суть ее проста: я пишу (windows 7 x64)
npm install smth
а консоль мне вываливает ошибки - я иду смотреть какие зависимости указаны у этого модуля на github'е, пытаюсь их исправить - ошибки все равно остаются.
Описание, конечно, очень сумбурное и создает впечатление, что у меня просто кривые руки.. но нельзя это делать как-то проще?
Может есть какой то аналог npm решающий проблемы зависимостей для нативных модулей?
Или возможно такой, что отдавал бы бинарники?
Из-за того что я пытался решить эту проблемму, на основной системе возникла некоторая каша из Visual Studi'й разных версий, поэтому чтобы избежать лишних ошибок из-за этого, я решил перенести процесс установки аддонов на виртуальную машину. Т.е. план такой:
- на основной машине потребовался нативный модуль
- иду на виртуальную, устанавливаю модуль, он компилится. У меня есть бинарники этого модуля
- тащу их на основную машину
для этого у меня сейчас есть:
VMWare, на котором:
- Windows XP x32 (выбрана как менее прожорливая)
- io.js (потому что node не захотела запусктаься, утверждая что она не х32 приложение)
- node-gyp
- Visual studio C++ 2010 express
- Python 2.7.9
Однако все это по прежнему для меня не работает при установке текущего расширения, а именнно :
https://github.com/mikeseven/node-glfw
Действовал опять таки согласно инструкциям на приведенной странице, но попытки заканчиваются:
... много ошибок...
.\src\glfw.cc(82): error C3861: 'NewSymbol': identifier not found [C:\Document
and Settings\user\1\node_modules\node-glfw\build\glfw.vcxproj]
... много ошибок ...
C:\Documents and Settings\user\1\node_modules\node-glfw\node_modules\nan\nan.h(
746): error C3861: 'NewSymbol': identifier not found [C:\Documents and Settings
\user\1\node_modules\node-glfw\build\glfw.vcxproj]
C:\Documents and Settings\user\1\node_modules\node-glfw\node_modules\nan\nan.h(
750): error C2039: 'NewSymbol' : is not a member of 'v8::String' [C:\Documents
and Settings\user\1\node_modules\node-glfw\build\glfw.vcxproj]
... много ошибок ...
(могу предоставить весь вывод если нужно)
Кто-нибудь может что-то посоветовать?
Быть может мне нужна Win7/8?
Студия 2013?
Какие либо альтернативы npm/node-gyp?
Может нужно использовать именно node.js и iojs - не вариант?
Может лучше уйти на линукс?
Возможно ли из под линукса кросскомпилить модули установленные из npm так, что б их можно было запустить на win?
(Насколько я помнимаю это можно сделать редактуруя binding.gyp)
В любом случае то, что я хочу сделать должно работать в windows.
Может ничего и не должно компилироваться из-за багов и это норма?
Если кто-то захочет помочь решить проблемму так сказать своими руками - могу предоставить доступ (teamviewer) к этой виртуальной машине.