我有一個Rails 4應用程序。前段時間,在運行bundle install
和bundle update
後,我的應用程序開始出現問題。我發現法拉第寶石引起了一些問題,並且,由於其他一些寶石依賴於它,我無法卸載它。然後我發現我的項目備份來自我製作bundle install
/bundle update
命令之前。那時候我的應用程序運行良好。如何恢復安裝的gems和所有依賴版本,如舊Gemfile.lock
當比較我的舊Gemfile.lock和當前的Gemfile.lock時,我看到一些gem現在有更新的版本。我相信這是應用程序問題的原因。
這些僅僅是在我目前的Gemfile.lock的相關寶石:
oauth2 (1.3.1)
faraday (>= 0.8, < 0.12)
jwt (~> 1.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
omniauth (1.4.2)
hashie (>= 1.2, < 4)
rack (>= 1.0, < 3)
omniauth-oauth2 (1.4.0)
oauth2 (~> 1.0)
omniauth (~> 1.2)
omniauth-yandex (0.0.2)
omniauth (~> 1.0)
omniauth-oauth2 (~> 1.0)
我的老Gemfile.lock的從當應用程序很好工作:
oauth2 (1.3.0)
faraday (>= 0.8, < 0.11)
jwt (~> 1.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
omniauth (1.3.2)
hashie (>= 1.2, < 4)
rack (>= 1.0, < 3)
omniauth-oauth2 (1.4.0)
oauth2 (~> 1.0)
omniauth (~> 1.2)
omniauth-yandex (0.0.2)
omniauth (~> 1.0)
omniauth-oauth2 (~> 1.0
我現在和以前的Gemfile是相同的:
gem 'tinymce-rails'
gem 'mysql2', '~> 0.3.18'
gem 'humanizer'
gem 'globalize', '~> 4.0.3'
gem "paperclip", "~> 4.2"
gem 'remotipart', '~> 1.2'
gem 'mailcatcher', '~> 0.6.1' , group: :development
gem 'rufus-scheduler', '~> 3.1.2'
gem "omniauth-yandex"
gem 'friendly_id', '~> 5.1.0'
gem 'devise'
gem 'rest-client', '~> 1.8'
gem "cocoon"
是否有可能以某種方式降級一些寶石和將它們的依賴關係轉換爲舊的Gemfile.lock中的版本?
我的應用只需要omniauth-yandex
寶石。
剛剛更改的Gemfile版本規範所要求的版本爲您的應用程序,並再次運行'束install'。 Bundler將重新加載所需版本並調整Gemfile.lock文件。這在Bundler文檔中。 –
@theTinMan \t感謝您的幫助。我添加了指定版本的所有gem,然後成功運行bundle update/install。但版本仍然沒有任何改變。這是爲什麼? – Edgars