2010-11-05 36 views
4

看着我的Gemfile.lock,我發現一個用windows版本指定的gem。那是因爲我在Windows環境下開發(我知道,我能說什麼?)。不幸的是,我使用的是heroku,這是linux環境。這會導致應用程序崩潰。rails Gemfile.lock - gem windows版本與linux

我發現了一個解決方法:刪除Gemfile.lock然後提交和推送。

但是這個解決方案不是很好嗎?我的意思是,就像用膠帶固定防風罩一樣。

我想知道如果你們發現解決方案更優雅這個環境問題,這將不會強迫我操縱文件。

提前,謝謝。

+0

類似的問題出現了幾個月後,但我不認爲有一個令人滿意的答案呢:http://stackoverflow.com/questions/3642085/make-bundler-use-不同的寶石換不同的平臺 – Steve 2010-11-05 09:47:29

+0

如果我git忽略Gemfile.lock?這會起作用嗎? – 2010-11-05 10:19:00

回答

1

Gemfile.lock的應在源代碼控制,我想你看到herokus警告Gemfile.lock的很快需要。那你怎麼辦呢?

這不是所有的黑色,我的合作者和你一樣不幸,被困在窗戶上;)有些使用Linux,其他Mac。我們Gemfile.lock的看起來像這樣

GEM 
    remote: http://rubygems.org/ 
    specs: 
    ... 
    sqlite3-ruby (1.3.1) 
    sqlite3-ruby (1.3.1-x86-mingw32) 

在另一方面,Heroku的會忽略sqlite3的,所以這可能不是最好的例子。 什麼類型的寶石你在掙扎?

我建議你嘗試手動插入與x86的gem,就像上面的例子。希望這有助於...

0

其實解決的辦法是添加行

Gemfile.lock 

到的.gitignore

相關問題