在具有节点npm的OSX Mavericks上安装topojson

我不能得到topojson通过节点npm(使用sudo)在小牛安装。 我已经安装了Xcode命令行工具,并尝试了各种解决scheme,但没有运气。 这是我的输出:

> 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)我的版本的gcc编译器是旧的。 当最新版本是4.9时,我正在使用4.5。 我更新了这个(与家酿 ),并认为我会清楚。 不。

2)我运行了which gcc ,发现它仍然指向我用Macports加载的旧版本。 因此,既没有使用新版本的gcc,也没有使用Xcode命令行工具(Macports将所有内容都放到/opt/local/bin而不是/usr/local/bin )。 我通过从$PATH删除了/opt/local/bin/opt/local/sbin来纠正了这个问题。 之后, sudo npm install -g topojson工作得很好。