2016-04-26 153 views
0

我已經安裝了rails和ruby使用自制軟件,並從編碼休息,最近試圖升級我的軟件包。安裝由於紅寶石版本的寶石問題

當運行:

bundle install --without production 

我收到以下錯誤信息:

Gem::InstallError: listen requires Ruby version ~> 2.2. 
An error occurred while installing listen (3.1.1), and Bundler cannot  continue. 
Make sure that `gem install listen -v '3.1.1'` succeeds before bundling. 

通過BREW更新檢查,我有這麼ruby 2.3我不清楚爲什麼這不會安裝。

此外,當我嘗試檢查我的rails版本時,我收到以下錯誤。

Could not find gem 'rails_12factor (= 0.0.2) ruby' in the gems available on this machine. 

我很感激一個很好的教程的建議,使我能夠通過更新過程或快速修復?

謝謝

+0

哪個版本的ruby在Gemfile中聲明? –

+0

我宣佈軌'4.2.2',但不是紅寶石。當我在沒有版本的情況下聲明ruby時,它如上所述失敗。如果我試圖強制一個版本,它會失敗並找不到版本。 – mhairic

+0

顯示輸出'bundle exec ruby​​ -v' –

回答

0

有時,捆綁商扼殺特定的寶石,就像你看到的。我發現的作品僅僅是做錯誤信息告訴你的,安裝gem standalone。然後再運行捆綁器。它讓給你另一個錯誤不同的寶石..

$gem install listen -v '3.1.1' 

$bundle install --without production 

,看看你得到另一個

Make sure that gem xxxx l-v '9.9.9' succeeds before bundling.

,然後安裝寶石獨立。等等。

通過這種方式,您可以瀏覽捆綁器並單獨安裝這些寶石。這樣做,直到你得到一個乾淨的包。我沒有看到這個文件記錄在任何地方,但有時這是我發現首次獲得捆綁的唯一途徑。

警告:讓我知道如果Ruby版本錯誤仍然是一個問題。我無法解釋這一點。這可能是虛假的或不同的問題。

+0

這是不好的做法,因爲列表應該安裝到相同的環境 –

+0

它是相同的環境。您將永遠無法通過捆綁軟件,直到您按錯誤消息安裝寶石。它告訴你你需要做什麼。你只需要這樣做。 – Elvn

+0

你不是OP。好奇你的解決方案是什麼......請發佈。 – Elvn