从Gemfile中删除gem后该怎么办?

时间:2013-07-22 20:01:20

标签: ruby-on-rails ruby bundler

我从Gemfile中删除了一个gem'mygem',但刚才我意识到它仍在安装。

那么如何告诉bundler重新扫描Gemfile并更新Gemfile.lock,不用更新每个gem?

来自php,我就是这样做的:composer update nothing。是否有捆绑器的等效物?

2 个答案:

答案 0 :(得分:32)

您只需运行bundlebundle install即可根据您的Gemfile安装gem。这将从您的Gemfile.lock文件中删除mygem的实例。但是,它不会从您的系统中删除gem。为此,请运行gem uninstall mygem

并非完全相关,但仍有帮助:

  • bundle outdated会向您显示不在最新版本中的宝石。不要与这个列表捆绑在一起 - 拥有不在最新版本上的宝石是相当普遍的,因为有些宝石是作为依赖项安装的。一个宝石可能需要另一个宝石的旧版本。
  • bundle upgrade mygem将升级 该gem,并使其依赖项更新。这意味着其他宝石也可以升级或安装。
  • 您可以搜索RubyGems以查看每个版本中gem的依赖关系。作为gem用户,您只需要关注gem页面底部的“Runtime Dependencies”列表。

答案 1 :(得分:1)

清理bundler目录中未使用的gem: 捆绑清洁 - 强制