【问题标题】:Travis-cli build errors but local tests/build is OKTravis-cli 构建错误,但本地测试/构建正常
【发布时间】:2017-10-13 09:37:33
【问题描述】:

我无法通过 Travis 进行单元测试。我在本地运行测试没有任何错误(单元/e2e)...

这里是日志文件Travis build log

有很多组件模块构建错误:

Module build failed: SyntaxError: Unexpected token {

还有一些

Module not found: Error: Can't resolve 'underscore' 
in :
ERROR in ./src/plugins/VueNoiseGeneratorPlugin.js
ERROR in ./src/vuex/mutations.js

还有

Module not found: Error: Can't resolve 'babel-runtime/helpers/defineProperty' 
in :
ERROR in ./src/vuex/mutations.js

我正在运行 node v8.4.0 ,webpack

可能有什么问题?欢迎反馈!!

【问题讨论】:

    标签: webpack vue.js travis-ci


    【解决方案1】:

    您在本地运行版本 8.4.0,但 Travis 运行的是 4.8.0,因为这是您在 .travis.yml 中配置的内容。意外的{ 可能是object destructuring,即first supported in Node version 6。从日志中我推测 webpack 加载器中的一些代码正在使用它,这意味着他们不打算继续支持旧版本的 Node。

    您也应该为 Travis 使用更新版本的 Node,尤其是因为版本 4 不再积极维护,这意味着只有 关键 修复被应用,直到它达到生命的尽头(详情请参阅Release schedule)。 Travis 应该代表您的目标/计划运行它的环境。

    关于未找到模块的错误,您使用的是underscore(例如在VueNoiseGeneratorPlugin.js 中),但它不在您的package.json 中。这意味着它永远不会被安装,它在本地工作的唯一原因是你安装了它而不保存它(在 npm 5 --save 需要将它实际添加到package.json 之前)或者你已经将它安装在项目之外,仍然由 Node 拾取(例如全局安装)。您必须将其添加到package.json

    npm install --save underscore
    

    最后,您使用babel-plugin-transform-runtimerequires babel-runtime to be installed 作为依赖项。根据您的目标环境,您不需要babel-plugin-transform-runtime,因此您可以将其完全删除。如果还想用,需要安装babel-runtime

    npm install --save babel-runtime
    

    【讨论】:

    • 非常感谢...我的错(我正在运行节点 8.4.0 .. 输入错误)...得到它的依赖项(我运行 rpm 修剪来清除我的本地 noe_modules 和添加了请求的包...
    【解决方案2】:

    我刚刚处理了这个问题 2 小时 :( 我的问题是 github repo 文件名的大小写与我的本地文件不同。一旦我将本地文件与 github 上的文件匹配,就会出现错误走了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      • 2019-11-15
      相关资源
      最近更新 更多