通过npm安装节点iconv失败

我在安装节点iconv时遇到问题。

当我尝试将它安装在一个目录中时会发生什么〜/ please-work /

please-work >> npm install iconv npm http GET https://registry.npmjs.org/iconv npm http 304 https://registry.npmjs.org/iconv > iconv@1.2.3 install /Users/j/please-work/node_modules/iconv > node-gyp rebuild CC(target) Release/obj.target/iconv/deps/libiconv/libcharset/lib/localcharset.o CC(target) Release/obj.target/iconv/deps/libiconv/lib/iconv.o In file included from ../deps/libiconv/lib/iconv.c:71: In file included from ../deps/libiconv/lib/converters.h:133: ../deps/libiconv/lib/utf7.h:162:13: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare] if (n < count+base64count+1) ~ ^ ~~~~~~~~~~~~~~~~~~~ ../deps/libiconv/lib/utf7.h:331:11: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare] if (n < count) ~ ^ ~~~~~ 

….然后,这样继续下去

然后结束这个…

 620 warnings generated. CXX(target) Release/obj.target/iconv/binding.o SOLINK_MODULE(target) Release/iconv.node File "./gyp-mac-tool", line 159 fd = os.open(lockfile, os.O_RDONLY|os.O_NOCTTY|os.O_CREAT, 0o666) ^ SyntaxError: invalid syntax make: *** [Release/iconv.node] Error 1 gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:215:23) gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:91:17) gyp ERR! stack at Process._handle.onexit (child_process.js:674:10) gyp ERR! System Darwin 11.4.0 gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /Users/j/please-work/node_modules/iconv gyp ERR! node -v v0.8.5 gyp ERR! node-gyp -v v0.6.3 gyp ERR! not ok npm ERR! iconv@1.2.3 install: `node-gyp rebuild` npm ERR! `sh "-c" "node-gyp rebuild"` failed with 1 npm ERR! npm ERR! Failed at the iconv@1.2.3 install script. npm ERR! This is most likely a problem with the iconv 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 iconv npm ERR! There is likely additional logging output above. npm ERR! System Darwin 11.4.0 npm ERR! command "node" "/usr/local/bin/npm" "install" "iconv" npm ERR! cwd /Users/j/please-work npm ERR! node -v v0.8.5 npm ERR! npm -v 1.1.46 npm ERR! code ELIFECYCLE npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /Users/j/please-work/npm-debug.log npm ERR! not ok code 0 

任何帮助将非常感激! 谢谢,-J

iconv的作者指出我可能运行的是Python的错误版本。

一旦我安装了python 2.7.3就没事了。

看起来有一些库iconv依赖的问题,但编译器警告可能可以忽略。

真正的故障发生在"node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" node-gyp/bin/node-gyp.js "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" ,所以检查的好地方是node-gyp文档: https : //github.com/TooTallNate/node-gyp/

我不太了解你所使用的平台(似乎是Mac),你是否安装了make和gcc? node-gyp github页面提到了这些要求。

我不确定您的使用要求。 如果你花50%的时间改变文本编码格式,也许你需要iconv 。 否则,也许尝试https://github.com/ashtuchkin/iconv-lite/ ? 由于这是一个纯粹的JS实现,如果你有任何安装问题,我会非常惊讶。 🙂

我在Ubuntu中安装iconv时出现错误。 在我的情况下,我解决了它安装g ++允许编译iconv如此:

 sudo apt-get install g++ 

并重新安装iconv。 希望对别人有帮助!

我使用Ubuntu 12.04.3为我apt-get install build-essential解决了这个问题