2017-08-02 38 views
0

在嘗試解決此主題中發現的另一個問題時: Error while trying to load the gem 'devise. ActiveSupport: Duration can't be coerced into Integer,我按照建議的解決方案將ruby版本從2.4.1更改爲2.3 .3使用rbenv。我也在我的Gemfile中做了類似的更改以反映新的ruby版本。但是,當我試圖再次捆綁安裝時,它會拋出一個錯誤,說我的ruby版本是2.4.1,當我的Gem指定2.3.3時。但是,運行ruby -v顯示我的ruby版本在2.3.3上。在運行軟件包安裝時從2.4.1降級到2.3.3後出現不匹配的ruby版本

$ bundle install 
Your Ruby version is 2.4.1, but your Gemfile specified 2.3.3 
$ ruby -v 
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16] 

這裏的任何幫助將不勝感激。謝謝!

+1

'哪個包'的結果是什麼?你是否正在運行* system *包,而不是rbenv'bundle'?在這種情況下,您可能需要'gem install bundler'。 –

+1

另外,我建議你使用[ruby version 2.3.4](https://www.ruby-lang.org/zh/news/2017/03/30/ruby-2-3-4-released/) ,而不是2.3.3。 –

+0

謝謝,這是由於我使用的捆綁軟件的版本,這是問題所在。重新安裝gem install bundler確實解決了這個問題。關於ruby版本,我只使用了2.3.3版本,因爲它是我之前版本的解決方案中的建議ruby版本。 – nilesguo

回答

0

寶石安裝特定於ruby版本,所以您使用的bundler可能會安裝到您的舊紅寶石。嘗試再次安裝bundler

gem install bundler 

這應該解決您的問題。

+1

謝謝!事實證明,我的捆綁軟件被安裝到我的老紅寶石,再次重新安裝捆綁軟件確實解決了這個問題。 – nilesguo

相關問題