【问题标题】:gulp failed on Jenkins, but succeed on my VMgulp 在 Jenkins 上失败,但在我的虚拟机上成功
【发布时间】:2016-01-26 16:37:53
【问题描述】:

我对 npm 和 nodejs 还是很陌生。输出是什么意思?如何调试?

一些版本信息:

10:29:33 + echo ==========================+
10:29:33 ==========================+
10:29:33 + which node
10:29:33 /usr/bin/node
10:29:33 + echo ==========================+
10:29:33 ==========================+
10:29:33 + /usr/local/n/versions/node/5.5.0/bin/node --version
10:29:33 v5.5.0
10:29:33 + echo ==========================+
10:29:33 ==========================+
10:29:33 + node -v
10:29:33 v0.10.37
10:29:33 + echo ==========================+
10:29:33 ==========================+
10:29:33 + /usr/local/n/versions/node/5.5.0/bin/npm --version
10:29:33 3.3.12
10:29:33 + echo ==========================+
10:29:33 ==========================+

...

错误输出:

10:30:42 + /usr/local/n/versions/node/5.5.0/bin/npm run build
10:30:43 
10:30:43 > myproject@1.0.0 build /tmp/3791.work
10:30:43 > gulp && webpack
10:30:43 
10:30:43 
10:30:43 /tmp/3791.work/gulpfile.js:30
10:30:43 gulp.task( 'sass', () => {
10:30:43                     ^
10:30:43 SyntaxError: Unexpected token )
10:30:43     at Module._compile (module.js:439:25)
10:30:43     at Object.Module._extensions..js (module.js:474:10)
10:30:43     at Module.load (module.js:356:32)
10:30:43     at Function.Module._load (module.js:312:12)
10:30:43     at Module.require (module.js:364:17)
10:30:43     at require (module.js:380:17)
10:30:43     at Liftoff.handleArguments (/tmp/3791.work/node_modules/gulp/bin/gulp.js:116:3)
10:30:43     at Liftoff.<anonymous> (/tmp/3791.work/node_modules/liftoff/index.js:192:16)
10:30:43     at module.exports (/tmp/3791.work/node_modules/flagged-respawn/index.js:17:3)
10:30:43     at Liftoff.<anonymous> (/tmp/3791.work/node_modules/liftoff/index.js:185:9)
10:30:43 
10:30:43 npm ERR! Linux 3.2.0-34-virtual
10:30:43 npm ERR! argv "/usr/local/n/versions/node/5.5.0/bin/node" "/usr/local/n/versions/node/5.5.0/bin/npm" "run" "build"
10:30:43 npm ERR! node v5.5.0
10:30:43 npm ERR! npm  v3.3.12
10:30:43 npm ERR! code ELIFECYCLE
10:30:43 npm ERR! myproject@1.0.0 build: `gulp && webpack`
10:30:43 npm ERR! Exit status 8

gulpfile.js 的一部分:

 30 gulp.task( 'sass', () => {
 31   config.sass.targets.forEach( target => {
 32     gulp.src( target.src )
 33       .pipe( sass( config.sass.options ) )
 34       .pipe( gulp.dest( target.dest ) );
 35   });
 36 });

【问题讨论】:

    标签: node.js npm gulp webpack gulp-sass


    【解决方案1】:

    箭头功能(它们是 es2015 的一部分)在节点 0.10-0.12 中默认禁用,在 5.5 中启用

    您遇到了与节点 0.10 中不支持的箭头函数语法有关的错误。

    简单来说,当你运行gulp,那么node gulp就会运行。你展示了which node 给出了节点 0.10 的路径,所以 gulp 总是在它下面运行。

    解决方案

    /usr/local/n/versions/node/5.5.0/bin/node $(which gulp)

    【讨论】:

    • 我更新了我的帖子并发布了所有与 gulp 相关的声明。我不知道如何为 gulp 指定节点版本。
    • @BAE,Gulp 应该在全局和本地同时安装。在我们的 ci-server 上,我们有 gulp,它在全球范围内安装,我们会做每一个建筑 npm install --dev &amp;&amp; gulp
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2014-03-23
    • 1970-01-01
    相关资源
    最近更新 更多