我有一个正在运行mocha测试的Travis构建作业,但构建失败并出现错误:
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');
然而,似乎是在加载它时出现错误。
答案 0 :(得分:8)
此错误是因为我引用./sources/reddit
,reddit
为小写,在文件系统上文件为Reddit
,大写为R
。
答案 1 :(得分:1)
我也遇到了这个问题,但资本化问题更难以发现。
当我第一次将文件检入git
时,它被命名为container.js
(小写" c")。我随后将其更改为Container.js
,因此它反映了我的文件系统上的大写名称。
我通过简单地重命名文件并更改所有引用来解决这个问题,以便git选择新名称。
答案 2 :(得分:1)
要完成他人的回答,在CI上可能遇到类似问题的另一种情况是,从Git中忽略了所需的文件。因此,在本地有,但是在Travis建立时没有。
因此,请确保您的.gitignore
中没有禁止签入这些文件的规则。
答案 3 :(得分:0)
我在MacOS上遇到了这种疯狂的情况:
landing
(已通过Finder,终端和VS代码检查)Landing
当然,没有CI可以解决这个问题:Travis和CircleCI均无法建立。
GitHub案例不匹配的解决方案:
file1
之类,然后提交更改