2013-10-02 66 views
0

我開始嘗試使用Rails 4進行工作,我們在服務器上使用MySQL2 3.1.0 gem。Rails4新的應用程序創建 - Bundler期待版本MySQL2 3.1.3?

本地使用Ruby 2.0,我安裝了MySQL2 3.1.0 Gem,並且在那裏一切都很好(匹配工作服務器上的gem版本,基本上只是爲了匹配生產服務器環境)。

當我創建一個新的應用程序(ruby新r4_test -d mysql)時,我遇到了一個問題。 Bundler在新的應用程序創建過程中崩潰,抱怨缺少MySQL2 3.1.3文件。它看起來像3.1.3(3個月前發佈,如果我看起來是正確的)是MySQL2 Gem的最高版本號。我對此感到困惑,因爲安裝在Ruby文件夾中的唯一版本的MySQL2版本是3.1.0。爲什麼Bundler忽略已安裝的gem,並期望更高版本的本地安裝?我跳過了Rails3,所以我是Bundler的新手。它似乎不應該期望一個不是本地的版本。有時候還有一些錯誤或其他問題,您需要在較早的版本中保留一段時間。 ?

謝謝!

回答

0

如果您的項目目錄中沒有Gemfile.lock,Bundler會嘗試安裝符合Gemfile中版本條件的最新版本。因此,對於新的Rails項目,它將嘗試安裝默認生成的最新依賴關係Gemfile。除非你已經有Gemfile.lock,否則它根本沒有看到你安裝的寶石。

如果您不希望Rails在創建新項目時運行bundle install,則可以使用--skip-bundle(或-B)。這讓你有機會首先定製Gemfile。如果您想確保它將使用您已安裝的版本,則可以添加版本限制。

相關問題