美文网首页
记一次Jenkins打包前端项目失败的经历

记一次Jenkins打包前端项目失败的经历

作者: Xpitz | 来源:发表于2019-03-01 16:51 被阅读0次

    欢迎关注我的微信公众号:阿拉平平

    今天测试环境新上了个前端项目,但是部署过程却遇到了点坑,特此记录下。

    项目并不复杂,整个流程就是先npm install、npm run build,再通过rsync进行分发。一顿操作过后,Jenkins上配置完成,点击立即构建却提示:

    SyntaxError: Unexpected token ...
    

    测试环境上也有其它前端项目,配置都是一个套路。但是就这个新上的项目报错,我陷入沉思......

    于是检查报错的上下文,发现这里有点奇怪:

       ...getAppEntry(),
       ^^^
    

    莫不是当前node版本不支持...写法?网上查了点资料,发现也有其他人遇到这种情况,有大佬指出要解决这个问题,node版本要在8.3版本以上:
    https://github.com/nuxt/nuxt.js/issues/2927

    检查测试环境的node版本,当前版本为6.10,基本可以定位问题发生的原因了。

    于是将node版本升级到10.15并做了软链接:

    # node -v
    v10.15.2
    

    然而问题并没有解决,依旧提示语法错误,查看了npm的debug日志,一开始的地方又引起了我的注意:

    0 info it worked if it ends with ok
    1 verbose cli [ '/opt/node-v6.10.2-linux-x64/bin/node',
    1 verbose cli   '/opt/node-v10.15.2-linux-x64/bin/npm',
    1 verbose cli   'run',
    1 verbose cli   'build' ]
    

    从debug日志里可以发现npm版本已经更新了,但是node却没有更新。我推测是npm在执行时没有调用到我配置的node,网上的资料验证了我的想法,npm调用node默认路径为/usr/bin/node。删除低版本的node,重新做个软链接,问题得以解决。

    相关文章

      网友评论

          本文标题:记一次Jenkins打包前端项目失败的经历

          本文链接:https://www.haomeiwen.com/subject/mcmruqtx.html