特拉维斯-CI找不到相关模块需要
问题描述:
我有一个特拉维斯建立运行摩卡测试工作,但是构建与错误而失败:特拉维斯-CI找不到相关模块需要
Error: Cannot find module './sources/reddit'
我的文件树如下
feeds/
sources/
Reddit.js
Feeds.js
app.js
在Feeds.js我做
var https = require('https'),
q = require('q'),
Reddit = require('./sources/reddit');
然而,似乎正在加载一个错误标记。
答
这个错误是因为我引用./sources/reddit
时reddit
为小写,文件系统上文件为Reddit
,大写为R
。
Mac OSX处理大小写敏感,Linux不。
答
我也遇到过这个问题,但大写问题很难发现。
当我第一次将文件检入git
时,它被命名为container.js
(小写“c”)。我随后将其更改为Container.js
,因此它反映了我的文件系统上的大写名称。
但是,Git在大小写不敏感的操作系统上没有检测到病例更改,所以每次运行travis-ci时,它都会对小写名称进行运行,从而导致构建失败。 (有关如何正确执行此操作的详细信息,请参见Changing capitalization of filenames in Git)
我解决了这个问题,只需重命名文件并更改所有引用,以便git获取新名称。
我会说的相反:Linux处理大小写敏感,Mac OSX不会...... – 2015-10-27 19:55:10