【问题标题】:Can't get angular-fullstack generator to compile无法编译 angular-fullstack 生成器
【发布时间】:2017-03-20 18:54:06
【问题描述】:

我目前正在尝试使用 angular-fullstack 生成器 (https://github.com/angular-fullstack/generator-angular-fullstack) 启动一个项目,但在尝试设置项目时我一直遇到错误。

我在 Mac OSX 上使用 node v7.7.3 和 npm v4.4.1 运行它

这是我运行“yo angular-fullstack”后得到的错误

> iltorb@1.0.13 install /Users/USER/Desktop/forecast-me/node_modules/iltorb
> node-gyp rebuild

gyp ERR! configure error 
gyp ERR! stack Error: Command failed: /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config -c import platform; print(platform.python_version());
gyp ERR! stack Usage: /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/bin/python2.7-config [--prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--help]
gyp ERR! stack 
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:210:12)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:194:7)
gyp ERR! stack     at maybeClose (internal/child_process.js:899:16)
gyp ERR! stack     at Socket.<anonymous> (internal/child_process.js:342:11)
gyp ERR! stack     at emitOne (events.js:96:13)
gyp ERR! stack     at Socket.emit (events.js:191:7)
gyp ERR! stack     at Pipe._handle.close [as _onclose] (net.js:513:12)
gyp ERR! System Darwin 15.6.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/USER/Desktop/forecast-me/node_modules/iltorb
gyp ERR! node -v v7.7.3
gyp ERR! node-gyp -v v3.5.0
gyp ERR! not ok 

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! iltorb@1.0.13 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the iltorb@1.0.13 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the iltorb 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 information on how to open an issue for this project with:
npm ERR!     npm bugs iltorb
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls iltorb
npm ERR! There is likely additional logging output above.

然后如果我跟进并运行“gulp serve”:

module.js:472
    throw err;
    ^

Error: Cannot find module 'shrink-ray'
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/USER/Desktop/forecast-me/server/config/express.js:10:1)
    at Module._compile (module.js:571:32)
    at loader (/Users/USER/Desktop/forecast-me/node_modules/babel-register/lib/node.js:144:5)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/USER/Desktop/forecast-me/node_modules/babel-register/lib/node.js:154:7)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/USER/Desktop/forecast-me/server/app.js:24:1)
    at Module._compile (module.js:571:32)
    at loader (/Users/USER/Desktop/forecast-me/node_modules/babel-register/lib/node.js:144:5)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/USER/Desktop/forecast-me/node_modules/babel-register/lib/node.js:154:7)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)

【问题讨论】:

    标签: node.js npm node-gyp angular-fullstack


    【解决方案1】:

    Express 服务器使用 shrink-ray 模块在通过 http 发送资产之前压缩资产。然而,shrink-ray 依赖于 node-zopfli 模块才能正确安装。

    为了正确安装 node-zopfli,npm 会尝试下载兼容的预构建二进制文件。在失败的情况下,npm 会退回到构建该二进制文件。当 node-gyp 无法构建 node-zopfli 时,偶尔会出现问题。

    所以,这里有一些你可以探索的路径:

    1. 尝试在 linux 上安装像 g++ 这样的 c++ 编译器
    2. 从 package.json 中删除 shrink-ray 依赖关系以及 server/config/express.js 文件中对 shrink-ray 的引用

    【讨论】:

      猜你喜欢
      • 2015-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 2016-12-25
      • 2022-11-04
      • 2015-05-21
      相关资源
      最近更新 更多