Yeoman的angular-fullstack有jpegtran-bin错误,3次失败

时间:2014-03-01 01:54:33

标签: node.js yeoman yeoman-generator

我得到了Yeoman的generator-angular-fullstack并且跑了yo angular-fullstack(没有Heroku),但后来我遇到了这些失败和错误:

  3 failing

  1) jpegtran should successfully proxy jpegtran:
     Error: timeout of 2000ms exceeded
      at null.<anonymous> (/home/ubuntu/fs_a/node_modules/jpegtran-bin/node_modules/mocha/lib/runnable.js:165:14)
      at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)

  2) jpegtran should minify a .jpg:
     Error: timeout of 2000ms exceeded
      at null.<anonymous> (/home/ubuntu/fs_a/node_modules/jpegtran-bin/node_modules/mocha/lib/runnable.js:165:14)
      at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)

  3) jpegtran "after all" hook:
     Error: ENOENT, no such file or directory 'test/minified.jpg'
      at Object.fs.unlinkSync (fs.js:760:18)
      at Context.<anonymous> (/home/ubuntu/fs_a/node_modules/jpegtran-bin/test/test-path.js:10:6)
      at Hook.Runnable.run (/home/ubuntu/fs_a/node_modules/jpegtran-bin/node_modules/mocha/lib/runnable.js:211:32)
      at next (/home/ubuntu/fs_a/node_modules/jpegtran-bin/node_modules/mocha/lib/runner.js:246:10)
      at Object._onImmediate (/home/ubuntu/fs_a/node_modules/jpegtran-bin/node_modules/mocha/lib/runner.js:258:5)
      at processImmediate [as _immediateCallback] (timers.js:330:15)



/home/ubuntu/fs_a/node_modules/jpegtran-bin/build.js:70
                        throw err;
                              ^
Error: Command failed: configure: error: no nasm (Netwide Assembler) found

    at ChildProcess.exithandler (child_process.js:637:15)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:743:16)
    at Process.ChildProcess._handle.onexit (child_process.js:810:5)

然后:

npm ERR! jpegtran-bin@0.2.0 postinstall: `node pre-build.js`
npm ERR! Exit status 8
npm ERR! 
npm ERR! Failed at the jpegtran-bin@0.2.0 postinstall script.
npm ERR! This is most likely a problem with the jpegtran-bin package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node pre-build.js
npm ERR! You can get their info via: 
npm ERR!     npm owner ls jpegtran-bin
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.2.0-54-virtual
npm ERR! command "/home/ubuntu/local/bin/node" "/home/ubuntu/local/bin/npm" "install"
npm ERR! cwd /home/ubuntu/fs_a
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! code ELIFECYCLE

我确实找到了jpegtran-bin的github并找到了一个similar issue,其结尾为“我们将包含有关如何手动编译的说明。”

我应该在同一时间做什么?

2 个答案:

答案 0 :(得分:1)

我有同样的问题,我更新了自耕农和我的发电机,它为我解决了这个问题。

尝试运行npm update -g yo,然后运行yo并选择更新生成器的选项。

注意:如果您使用的是旧版本的节点(&lt; 1.2.10),则必须单独更新bower和grunt-cli并确保其正在更新的全局版本,而不是本地版本。

答案 1 :(得分:0)

我与开发者讨论了angular-fullstack,他建议我做以下工作,因为我遇到了mongoose和jpegtran的问题,以及我没有MongoDB服务器。 Angular-fullstack仅连接到Mongodb,它不会随包安装它。

  1. yo angular-fullstack --skip-install
  2. 更改package.json中的以下内容:

    ...
    "mongoose": "latest"
    ...
    "jpegtran-bin": "latest"
    
  3. bower install

  4. npm install
  5. 以某种方式获取MongoDB(install it on my Ubuntu machine或从MongoLab或MongoHQ托管)
  6. 但是您可以像jonnieM suggested一样更新生成器,因为在end of the discussion with angular-fullstack's developer,他修复了angular-fullstack中的mongoose和jpegtran问题。