2016-01-20 75 views
1

我跑了'寶石更新'試圖解決我正在處理的另一個應用程序中的問題。現在我的主應用程序無法正常工作,因爲我有一堆太新的寶石。有沒有辦法撤消寶石更新?或者將我的寶石恢復到我的團隊的Gemfile.lock文件中提到的版本?我偶然跑了'寶石更新'我可以恢復它嗎?

更新:它明確抱怨耙當我嘗試運行「耙規範」 (寶石:: LoadError:您已經激活耙10.5.0,但你的Gemfile需要耙10.4.2預謀bundle exec你的命令。可以解決這個問題。)

+0

你使用的是git嗎?或者其他一些版本控制? – Dbz

+0

是的,我使用的是git。 – Veg

回答

4

如果您當前有一個gemfile.lock中指定的gem的更新版本,那麼使用Gemfile.lock中提到的版本重寫Gemfile並運行bundle install就足夠了。

我在本地測試了這個(在Gemfile.lock和Gemfile中降級了一個版本),並且bundler安裝了舊版本沒有問題。

+1

如果您不小心更新了它,請使用'git checkout - Gemfile.lock'恢復到您的舊'Gemfile.lock'。 – Dbz

+1

我仍然得到相同的錯誤。它特別抱怨Rake:「Gem :: LoadError:你已經激活了rake 10.5.0,但是你的Gemfile需要rake 10.4.2。在你的命令前加上'bundle exec'可以解決這個問題。」 – Veg

+0

嘗試使用'bundle clean'清理未在您的gemfile中指定的版本。 – max

2

如果您有多個版本,請運行'gem uninstall rake',它會詢問您希望刪除哪個版本。

然後運行'gem install rake -v 10.4.2'來安裝正確的版本。

爲我工作,比捆綁更新一切風險小得多。

相關問題