2013-12-21 56 views
1

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

> [email protected] 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! [email protected] install: `node-gyp rebuild` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] 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

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

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

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工作得很好。

+0

谢谢 - 我遇到了类似的问题,你的回答让我尝试更新gcc,这为我解决了问题。 – kjones