我不小心 运行 'gem update' 我可以恢复吗?

I ran 'gem update' by accident can i revert it?

我 运行 'gem update' 尝试修复我正在开发的另一个应用程序中的问题。现在我的主应用程序无法正常工作,因为我有一堆太新的 gems。有没有办法撤消 gem 更新?或者将我的 gem 恢复到我团队的 Gemfile.lock 文件中提到的版本?

更新:当我尝试 运行 'rake spec' 时,它特别抱怨 Rake (Gem::LoadError:您已经激活了 rake 10.5.0,但是您的 Gem 文件需要 rake 10.4.2。在您的命令前加上 bundle exec 可能会解决这个问题。)

如果您当前的 gem 版本比 Gemfile.lock 中指定的版本更新,那么用 Gemfile.lock 中提到的版本重写 Gemfile 就足够了,并且运行一个bundle install

我在本地测试了这个(在 Gemfile.lock 和 Gemfile 中都降级了一个版本)并且 bundler 安装了旧版本没有问题。

运行 'gem uninstall rake' 如果您有多个版本,它会询问您要删除哪个版本。

然后运行'gem install rake -v 10.4.2'安装正确的版本。

对我有用,而且比捆绑更新所有内容风险小得多。