由于URL/散列模块依赖,Travis-CI构建失败
Travis-CI build failing with URL/hashed module dependency
我在package.json
中有以下依赖项数组:
"dependencies": {
"doT": "git://github.com/nick-jonas/doT.git#cbc7041b646a79cca1034820db09167407d2f988",
"lodash": "latest",
"commander": "latest",
"minimatch": "0.2.9",
"prompt": "latest",
"mkdirp": "latest",
"fs-extra": ">=0.3.2",
"shelljs": ">=0.1.0",
"cheerio": ">=0.10.5",
"readdirp": ">=0.2.1"
}
注意第一个深度:
"doT": "git://github.com/nick-jonas/doT.git#cbc7041b646a79cca1034820db09167407d2f988"
这个与npm一起使用。当运行npm install
时,它将把正确版本的doT放入我的node_modules目录中。但是,当Travis-CI运行测试脚本时,它会给出以下错误消息:
227 vows test/*.js --spec
228
229
230 module.js:340
231 throw err;
232 ^
233 Error: Cannot find module 'doT'
234 at Function.Module._resolveFilename (module.js:338:15)
235 at Function.Module._load (module.js:280:25)
236 at Module.require (module.js:362:17)
237 at require (module.js:378:17)
238 at Object.<anonymous> (/home/travis/builds/nick-jonas/assemblejs/lib/commands/writer.js:15:11)
239 at Module._compile (module.js:449:26)
240 at Object.Module._extensions..js (module.js:467:10)
241 at Module.load (module.js:356:32)
242 at Function.Module._load (module.js:312:12)
243 at Module.require (module.js:362:17)
244 npm ERR! Test failed. See above for more details.
245 npm ERR! not ok code 0
在本地vows test/*.js --spec
运行此命令也有效,所以我假设这是Travis-CI抓取散列url依赖项的问题。
还有人有类似的问题吗?
查看失败的TravisCI任务,看起来它确实成功安装了doT@1.0.0:
https://travis-ci.org/nick-jonas/assemblejs/jobs/4115442/L188
如果我查看doT .js项目存储库,它看起来像doT package.json
文件的名称被列为"doT"而不是"doT"。
我会尝试改变require('doT')
到require('dot')
在writer.js(或任何其他地方使用)。
看起来这可能是一个区分大小写的问题,这在处理npm世界时可能会特别烦人。
@smithclay完全正确。你可能在Mac上工作,它有一个不区分大小写的文件系统。然而,在运行travis的Linux上,却没有。
我最近遇到了一个类似的问题,并创建了valiquire来检查所有require语句是否指向有效的位置,包括正确的大小写。
这样我就可以在本地排除故障。为了避免破坏构建,将有效性检查作为测试的一部分也很有用。
- Travis CI构建持续失败
- 可以在 Travis 发起的构建上运行 bower & npm
- 使用速度、流星和travis ci
- 构建 JavaScript 项目 Travis-CI 时出错
- 如何在 Travis CI 中访问环境变量
- 为什么我在 Travis-CI 上收到关于模块未定义的警告
- travis-ci 在 grunt-contrib-imagemin 任务上构建失败(无法准备好未定义的属性“内容”
- Mocha测试在本地通过,但在Travis CI上失败
- 如何在Travis CI中以无头模式运行茉莉花规范
- 启用JavaScript的测试(Bootstrap 3、Rails 4、Travis CI)出错
- Travis CI是否支持PhoneGap应用程序?
- Travis-CI + (BrowserStack或其他浏览器提供程序)
- Travis CI with Amazon Elastic Beanstalk
- Travis CI无法找到生成的lcov.info文件
- 未捕获的SyntaxError:在严格模式下使用const | Travis-ci业力测试与铬抛出
- 白内障测试在当地通过,但在Travis CI上未通过
- 为javascript项目设置jshint和travis-ci
- 为什么Travis CI不运行“npm install”?使用NODE_ENV生产
- 由于URL/散列模块依赖,Travis-CI构建失败
- QUnit测试在Travis CI上失败(在phantomjs上运行grunt.js)