使用节点npm在OSX Mavericks上安装topojson

时间:2013-12-21 12:49:03

标签: node.js npm osx-mavericks topojson

我无法通过节点npm(使用sudo)在topverjson上安装。我安装了Xcode命令行工具,尝试了各种解决方案,但没有运气。这是我的输出:

> contextify@0.1.6 install /usr/local/lib/node_modules/topojson/node_modules/d3/node_modules/jsdom/node_modules/contextify
> node-gyp rebuild

  CXX(target) Release/obj.target/contextify/src/contextify.o
cc1plus: error: unrecognized command line option "-arch"
make: *** [Release/obj.target/contextify/src/contextify.o] 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:267:23)
gyp ERR! stack     at ChildProcess.EventEmitter.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:789:12)
gyp ERR! System Darwin 13.0.0
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/topojson/node_modules/d3/node_modules/jsdom/node_modules/contextify
gyp ERR! node -v v0.10.24
gyp ERR! node-gyp -v v0.12.1
gyp ERR! not ok
    ....
    npm ERR! contextify@0.1.6 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the contextify@0.1.6 install script.
npm ERR! This is most likely a problem with the contextify 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 contextify
npm ERR! There is likely additional logging output above.
    ....
npm ERR! System Darwin 13.0.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "topojson"
npm ERR! cwd /Users/mattmosier
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! code ELIFECYCLE
    ....
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/mattmosier/npm-debug.log
npm ERR! not ok code 0

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我最终发现问题是双重的。

1)我的gcc编译器版本已经过时了。当最新版本为4.9时,我使用的是4.5。我更新了这个(Homebrew)并认为我会清楚。不。

2)我跑which gcc并发现它仍指向我装载Macports的旧版本。因此,没有使用较新版本的gcc和Xcode命令行工具(Macports将所有内容都放入/opt/local/bin,而不是/usr/local/bin)。我通过从/opt/local/bin移除/opt/local/sbin$PATH来更正了问题。在此之后,sudo npm install -g topojson效果很好。