2016-08-05 17 views
0

Ich habe versucht, node-protobuf auf win10 ein paar Tage jetzt zu installieren. Ich habe ein paar Quids/Readmes, wie man dazu, gefolgt, aber es gibt keinen Erfolg. Jetzt stecke ich hier fest:node.js installieren node-protobuf auf windows10

C:\rie>npm install node-protobuf 
/
> [email protected] install C:\rie\node_modules\node-protobuf 
> node-gyp rebuild 


C:\rie\node_modules\node-protobuf>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild) else (node "" rebuild) 
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. 
    init.cpp 
    native.cpp 
    parse.cpp 
    serialize.cpp 
c:\rie\node_modules\node-protobuf\src\common.h(11): fatal error C1083: Cannot open include file: 'google/protobuf/descriptor.h': No suc 
h file or directory (compiling source file ..\src\native.cpp) [C:\rie\node_modules\node-protobuf\build\protobuf.vcxproj] 
c:\rie\node_modules\node-protobuf\src\common.h(11): fatal error C1083: Cannot open include file: 'google/protobuf/descriptor.h': No suc 
h file or directory (compiling source file ..\src\serialize.cpp) [C:\rie\node_modules\node-protobuf\build\protobuf.vcxproj] 
c:\rie\node_modules\node-protobuf\src\common.h(11): fatal error C1083: Cannot open include file: 'google/protobuf/descriptor.h': No suc 
h file or directory (compiling source file ..\src\parse.cpp) [C:\rie\node_modules\node-protobuf\build\protobuf.vcxproj] 
c:\rie\node_modules\node-protobuf\src\common.h(11): fatal error C1083: Cannot open include file: 'google/protobuf/descriptor.h': No suc 
h file or directory (compiling source file ..\src\init.cpp) [C:\rie\node_modules\node-protobuf\build\protobuf.vcxproj] 
gyp ERR! build error 
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1 
gyp ERR! stack  at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23) 
gyp ERR! stack  at emitTwo (events.js:87:13) 
gyp ERR! stack  at ChildProcess.emit (events.js:172:7) 
gyp ERR! stack  at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) 
gyp ERR! System Windows_NT 10.0.10586 
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" 
gyp ERR! cwd C:\rie\node_modules\node-protobuf 
gyp ERR! node -v v4.4.5 
gyp ERR! node-gyp -v v3.3.1 
gyp ERR! not ok 
npm ERR! Windows_NT 10.0.10586 
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "node-protobuf" 
npm ERR! node v4.4.5 
npm ERR! npm v2.15.5 
npm ERR! code ELIFECYCLE 

npm ERR! [email protected] install: `node-gyp rebuild` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'. 

Auf Centos gibt es kein Problem.

Antwort

0

Ich denke, Sie haben das Dokument nicht gut gelesen, um dieses Paket zu installieren, benötigen Sie einige Tools und Konfiguration an Ihrem Ende.

Zuerst müssen Sie Microsoft Visual C++ 2010 erhalten. Express ist in Ordnung, aber wenn Sie SP1 installieren, müssen Sie x64-Compiler von hier neu installieren. Die Node.js-Distribution für Windows enthält bereits das Tool node-gyp, sodass Sie sich keine Sorgen machen müssen. VC++ 2012/2013 sollte so lange funktionieren, wie die Compilerversion mit Ihrer Node.js-Installation kompatibel ist (d. H. 64 für 64 und 32 für 32). Bei Problemen beim Kompilieren systemeigener Module unter Windows wenden Sie sich an das Node-Gyp-Repository.

Als nächstes kompilieren libprotobuf. Holen Sie es von Google, öffnen Sie vsprojects/protobuf.sln und kompilieren Sie es entsprechend Ihrer Betriebssystemversion. Für Windows 64 müssen Sie eine 64-Bit-Bibliothek kompilieren, da Node.js 64-Bit auf Ihrem System ist. Standardmäßig gibt es nur ein 32-Bit-Ziel, daher müssen Sie manuell 64-Bit hinzufügen. Öffnen Sie die Eigenschaften von libprotobuf project und legen Sie CRT auf Multi-Threaded (nicht DLL) fest. Kompiliere libprotobuf Freigabe.

Als nächstes führen Sie vsprojects/extract-includes.bat aus, es kopiert die erforderlichen Header in vsprojects/include.

Erstellen Sie die Umgebungsvariable LIBPROTOBUF, die auf einen Ordner verweist, in den Sie die libprotobuf-Dateien einfügen. Sie können SET LIBPROTOBUF = path von der Befehlszeile aus verwenden oder ein Tool wie RapidEE verwenden. Setzen Sie libprotobuf.lib auf $ (LIBPROTOBUF)/lib und fügen Sie die Dateien in $ (LIBPROTOBUF)/include ein. Sie sind fertig.

Jetzt nur Npm installieren Node-Protobuf und es sollte in Ordnung sein.

immer noch die Frage, die sich, dann stellen Sie sicher, dass alle oben installiert sind und getan ist, dann einmal überprüfen Sie Ihre Internetverbindung ..

+0

Ich denke, ms-Tools sind ok. Ich habe MS Visual C++ Build Tools mit "npm install --global --production windows-build-tools" installiert. Problem ist vielleicht "kompilieren libprotobuf.". Ich kann es finden, aber wie kompiliere ich es? – ajlind