在OSX上安装webpack和其他软件包时,node-gyp rebuild失败

时间:2015-05-25 20:52:03

标签: node.js macos npm node-gyp

我在OS 10.10.13上,节点为v0.12.4,npm为v2.10.1。每当我运行以下命令来安装webpack LinkedList<Image> slides = new LinkedList<Image>(); public void loadTheorySlides() { try { for (int i=1;i<=14;i++) { Image slide = Toolkit.getDefaultToolkit().createImage("W:\\workspace\\PeriodicSys\\TheorySlides\\Capture"+String.valueOf(i)+ ".png"); slides.add(slide); } } catch (Exception ex) { ex.printStackTrace(); } } int slideNum=-1; public void slideChanger() { slideNum++; JLabel background=new JLabel(new ImageIcon(slides.get(slideNum))); background.setSize(994, 591); background.setLocation(0, 0); pnlTheory.remove(background); pnlTheory.add(background); refreshPage(); } public void refreshPage() { frame.revalidate(); frame.repaint(); frame.validate(); } 时,在调用npm install webpack --save-dev --save-exact时会出现以下错误:

node-gyp rebuild

> fsevents@0.3.6 install /Volumes/Macintosh HD/Users/ev_blurbs/Sites/products/react-week/new-app/node_modules/webpack/node_modules/watchpack/node_modules/chokidar/node_modules/fsevents > node-gyp rebuild SOLINK_MODULE(target) Release/.node SOLINK_MODULE(target) Release/.node: Finished CXX(target) Release/obj.target/fse/fsevents.o clang: error: no such file or directory: 'HD/Users/ev_blurbs/.node-gyp/0.12.4/src' clang: error: no such file or directory: 'HD/Users/ev_blurbs/.node-gyp/0.12.4/deps/uv/include' clang: error: no such file or directory: 'HD/Users/ev_blurbs/.node-gyp/0.12.4/deps/v8/include' make: *** [Release/obj.target/fse/fsevents.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:269:23) gyp ERR! stack at ChildProcess.emit (events.js:110:17) gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:1074:12) gyp ERR! System Darwin 14.3.0 gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /Volumes/Macintosh HD/Users/ev_blurbs/Sites/products/react-week/new-app/node_modules/webpack/node_modules/watchpack/node_modules/chokidar/node_modules/fsevents gyp ERR! node -v v0.12.4 gyp ERR! node-gyp -v v1.0.3 gyp ERR! not ok npm WARN optional dep failed, continuing fsevents@0.3.6 错误似乎在错误的位置。例如,它正在检查:

no such file or directory

该文件位于:

HD/Users/ev_blurbs/.node-gyp/0.12.4/src

我用homebrew安装节点,最近更新了节点,npm和homebrew。如果您发现任何潜在问题,请告诉我。感谢您的帮助!

干杯, 埃文

2 个答案:

答案 0 :(得分:2)

node-gyp是一个痛苦的窗口,并不会很快就会消失。 经过长时间的努力,我给你的建议 - 如果你可以选择在Mac或Linux机器上进行开发,那就去吧。但是 - 如果你绝对需要在Windows上开发 - 花一些时间来设置一个流浪的工作流程。或者如果您完成任务 - 请使用Docker。因为这个原因,我为我的Windows设置选择了vagrant。避免节点gyp噩梦...... Vagrant基本上是一种自动配置运行Linux的VM并运行尽可能接近生产配置的环境的方法。 它的一个功能是在托管操作系统(在本例中为Windows)和Linux VM之间同步文件夹。这给你的是能够使用你喜欢的编辑器和Windows上的任何其他东西作为开发机器,而你的代码和npm安装实际上在Linux VM上运行。从他们开始 - 你可以使用node-gyp。 希望这会有所帮助。

答案 1 :(得分:0)

known issue gyp / node-gyp影响所有平台。您可能希望在该问题上添加两美分。