2015-02-10 74 views
2

我有一個特拉維斯建立運行摩卡測試工作,但是構建與錯誤而失敗:特拉維斯-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'); 

然而,似乎正在加載一個錯誤標記。

回答

7

這個錯誤是因爲我引用./sources/redditreddit爲小寫,文件系統上文件爲Reddit,大寫爲R

Mac OSX處理大小寫敏感,Linux不。

+3

我會說的相反:Linux處理大小寫敏感,Mac OSX不會...... – 2015-10-27 19:55:10

0

我也遇到過這個問題,但大寫問題很難發現。

當我第一次將文件檢入git時,它被命名爲container.js(小寫「c」)。我隨後將其更改爲Container.js,因此它反映了我的文件系統上的大寫名稱。

但是,Git在大小寫不敏感的操作系統上沒有檢測到病例更改,所以每次運行travis-ci時,它都會對小寫名稱進行運行,從而導致構建失敗。 (有關如何正確執行此操作的詳細信息,請參見Changing capitalization of filenames in Git

我解決了這個問題,只需重命名文件並更改所有引用,以便git獲取新名稱。