I have a Travis build job that is running mocha tests, however the build is failing with the error:
Error: Cannot find module './sources/reddit'
My file tree is the following
feeds/
sources/
Reddit.js
Feeds.js
app.js
Within Feeds.js I am doing
var https = require('https'),
q = require('q'),
Reddit = require('./sources/reddit');
However it seems to be flagging up an error loading it up.
This error is because I was referencing ./sources/reddit
with reddit
as lowercase, on the filesystem the file is Reddit
with an uppercase R
.
Mac OSX deals with case sensitivity well, Linux does not.
I also just ran into this issue, but the capitalization issue was harder to detect.
When I first checked the file into git
, it was named container.js
(lower-case "c"). I subsequently changed it to Container.js
, so it reflected the upper-case name on my file-system.
Git, however, doesn't detect the case change on case-insensitive OSs so every time travis-ci runs, it ran against the lower-case name and so failed the build. (See Changing capitalization of filenames in Git for details on how to do this properly)
I solved this by simply renaming the file and changing all references so that git picked up the new name.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With