2016-03-22 56 views
1

我試圖從nodejs向kafka broker發佈消息。當我試圖在nodejs窗口中安裝kafka-node模塊時。我得到與python相關的異常。kafka-node模塊異常

C:\Program Files\nodejs>npm install kafka-node 
- 
> [email protected] install C:\Program Files\nodejs\node_modules\kafka-node\node_modules\snappy 
> node-gyp rebuild 


C:\Program Files\nodejs\node_modules\kafka-node\node_modules\snappy>if not defined npm_config_node_g 
yp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin 
\node-gyp.js" rebuild) else (node rebuild) 
gyp ERR! configure error 
gyp ERR! stack Error: Python executable "python" is v3.4.0, which is not supported by gyp. 
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0. 
gyp ERR! stack  at failPythonVersion (C:\Program Files\nodejs\node_modules\npm\node_modules\node- 
gyp\lib\configure.js:121:14) 
gyp ERR! stack  at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.j 
s:110:9 
gyp ERR! stack  at ChildProcess.exithandler (child_process.js:204:7) 
gyp ERR! stack  at emitTwo (events.js:87:13) 
gyp ERR! stack  at ChildProcess.emit (events.js:172:7) 
gyp ERR! stack  at maybeClose (internal/child_process.js:821:16) 
gyp ERR! stack  at Socket.<anonymous> (internal/child_process.js:319:11) 
gyp ERR! stack  at emitOne (events.js:77:13) 
gyp ERR! stack  at Socket.emit (events.js:169:7) 
gyp ERR! stack  at Pipe._onclose (net.js:469:12) 
gyp ERR! System Windows_NT 6.1.7601 
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:\Program Files\nodejs\node_modules\kafka-node\node_modules\snappy 
gyp ERR! node -v v4.3.2 
gyp ERR! node-gyp -v v3.0.3 
gyp ERR! not ok 
npm ERR! Windows_NT 6.1.7601 
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\b 
in\\npm-cli.js" "install" "kafka-node" 
npm ERR! node v4.3.2 
npm ERR! npm v2.14.12 
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'. 
npm ERR! This is most likely a problem with the snappy package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node-gyp rebuild 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls snappy 
npm ERR! There is likely additional logging output above. 
npm ERR! Please include the following file with any support request: 
npm ERR!  C:\Program Files\nodejs\npm-debug.log 

kafka-node與python之間有任何關係。我已經安裝python 3.4,並再次嘗試安裝kafka-node模塊,它說gyp不支持python3.4版本。 (下面是錯誤消息)

因此,我安裝的Python 2.6和並再次嘗試重新安裝卡夫卡節點它給下面的錯誤

C:\Program Files\nodejs\node_modules\kafka-node\node_modules\snappy>if not defined npm_config_node_g 
yp (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. 
MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe". To fix this, 1) ins 
tall the .NET Framework 2.0 SDK, 2) install Microsoft Visual Studio 2005 or 3) add the location of 
the component to the system path if it is installed elsewhere. [C:\Program Files\nodejs\node_modul 
es\kafka-node\node_modules\snappy\build\binding.sln] 
gyp ERR! build error 
gyp ERR! stack Error: `C:\windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit c 
ode: 1 
gyp ERR! stack  at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\nod 
e-gyp\lib\build.js:270: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 6.1.7601 
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:\Program Files\nodejs\node_modules\kafka-node\node_modules\snappy 
gyp ERR! node -v v4.3.2 
gyp ERR! node-gyp -v v3.0.3 
gyp ERR! not ok 
npm ERR! Windows_NT 6.1.7601 
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\b 
in\\npm-cli.js" "install" "kafka-node" 
npm ERR! node v4.3.2 
npm ERR! npm v2.14.12 
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'. 
npm ERR! This is most likely a problem with the snappy package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node-gyp rebuild 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls snappy 
npm ERR! There is likely additional logging output above. 

npm ERR! Please include the following file with any support request: 
npm ERR!  C:\Program Files\nodejs\npm-debug.log 

任何幫助appreciated..Thanks

回答

0

錯誤你你的第二次嘗試恢復是:

MSBUILD:錯誤MSB3428:無法加載Visual C++組件「VCBuild.exe」。要解決這個問題,1)安裝.NET Framework 2.0 SDK,2)安裝Microsoft Visual Studio 2005或3)將組件的位置 添加到系統路徑(如果它安裝在別處)。

您是否安裝了Visual Studio並安裝了C++編譯器?如果沒有,你應該安裝它。

其他有用的答案都可以在這個帖子中找到: Error in installing node.js module using npm

+0

我真的不明白這種依賴性,什麼是節點卡夫卡和.NET和Visual Studio之間的依賴關係..謝謝 – user3656330

+0

要安裝kafka-node模塊,你需要有VCBuild.exe。簡單的方法是遵循上述步驟。 – petric

0

節點GYP被用於構建活潑的依賴。壓縮庫。如果你不在你的卡巴消息中使用壓縮,你可以放心地忽略這個。在0.3.3版本中,這種依賴關係是可選的。

如果你不使用活潑的你可以用--no-optional標誌安裝模塊:

npm install kafka-node --no-optional