2011-09-06 62 views
4

我對創業板的Debian 3.0.9乘客機架1.3.2和1.2.1。問題架1.3.2。您已經激活了機架1.3.2,但你的Gemfile需要機架1.2.3

隨着軌3.0應用程序與旅客e-捆綁我有這樣的錯誤:

您已經激活了機架1.3.2,但你的Gemfile需要機架1.2.3。考慮使用bundle exec。

使用Rails 3.1是一切ok。我不能使用rails 3.0啓動應用程序,但只能使用3.1。

Passnnger負載第一架1.3.2和不加載上捆綁

+0

你可以進入正接受有問題的應用程序的Gemfile.lock的文件並手動更改版本存在。 –

+0

我不會手動編輯Gemfile.lock的文件。它是通過基於您的Gemfile的軟件包安裝生成的。 – jaydel

回答

0

的寶石機架1.2.3我對Dreamhosters.com這個確切問題,與最近的客戶端。我相信我所做的就是更新我的Gemfile來指定一個已經「激活」,然後重建Gemfile.lock的版本。

在我的情況下,問題的問題是,軌道是在我當地的寶石尋找系統的寶石,不能妥善地處理衝突。這是在3.0.3,我並沒有對我的開發同樣的問題,我用RVM並沒有一個系統的Ruby /導軌安裝在所有。

我不知道這會解決您的問題,但它可能至少會爲您進一步研究提供一個起點。通過搜索錯誤消息,我發現了很多鏈接。

+0

我,我們嘗試用寶石「耙」,「〜> 0.8.7」寶石「架子」,「〜> 1.3.2」寶石「軌道」,「3.0.5」與束EXEC架後,我給這個依賴軌道(= 3.0.5)取決於 機架(〜> 1.2.1) 機架(1.3.2) 我必須用手改變Gemfile.lock的? – user537183

+0

沒有,可以真正地刪除Gemfile.lock的。把版本要求放在Gemfile中,當你安裝bundle時,它會生成Gemfile.lock。 – jaydel

2

簡短的回答:

你需要運行

bundle update rack 

這將在Gemfile.lock的更新您的機架版本

較長的答案:

這個錯誤通常當你激活發生機架/耙機版本與您的導軌應用的機架/耙機版本不同。當您運行「捆綁安裝」時,由於依賴關係,一些關鍵的寶石不會得到更新。

這就是爲什麼您需要運行'bundle update'(適用於所有gem)或'bundle update a_specific_gem'來更新Gemfile.lock中某個像機架/耙的gem。

0

5 whys回答您的問題是:

的Phusion乘客不使用你的應用程序捆綁在一起的寶石,而另一套寶石。

這可能是因爲許多不同的原因,但它們都與您的特定系統(OS,apache/nginx,ruby,環境變量等)有關。

  • 確保您的Gemfile是正確的(尤其是「源」線)
  • 知道哪個用戶正在運行您的Phusion客運(通常是相同的Web服務器)
  • 力束路徑用戶

    BUNDLE_PATH: /home/xxxxxxx/.bundler to RAILS_ROOT/.bundle/config

  • ,甚至更好地利用捆綁的部署選項安裝寶石的供應商/捆綁

    bundle install --deployment

1

什麼工作對我來說是這樣的:

  1. 清除您的Gemfile.lock
  2. 運行bundle install

問題修復。

+0

爲我工作! –

相關問題