4

我在安装节点 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

4

4 回答 4

3

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

一旦我安装了 python 2.7.3 就很好了。

于 2012-08-05T22:58:50.663 回答
2

看起来某些库iconv依赖存在问题,但编译器警告可能会被忽略。

真正的失败发生在 中"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 实现,如果您对此有任何安装问题,我会感到非常惊讶。:)

于 2012-08-05T07:33:49.710 回答
2

我在 Ubuntu 安装 iconv 时出错。就我而言,我解决了安装 g++ 以允许编译 iconv 的问题:

sudo apt-get install g++

并重新安装 iconv。希望对其他人有所帮助!

于 2013-10-22T17:16:34.850 回答
1

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

于 2013-11-15T12:11:21.953 回答