Travis-cli构建错误,但本地测试/构建是可以的

时间:2017-10-13 09:37:33

标签: webpack vue.js travis-ci

我无法使用Travis进行单元测试。我没有任何错误(unit / 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

我正在运行节点v8.4.0,web pack

什么可能是错的?反馈欢迎!!

2 个答案:

答案 0 :(得分:0)

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

您也应该使用较新版本的Node for Travis,特别是因为版本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

答案 1 :(得分:0)

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