【发布时间】:2013-07-22 20:01:19
【问题描述】:
我从 Gemfile 中删除了一个 gem 'mygem',但刚才我意识到它仍然被安装。
那么我如何告诉 bundler 重新扫描 Gemfile 并更新 Gemfile.lock,而不更新每个 gem?
来自 php,我习惯这样做:composer update nothing。捆绑器是否有等价物?
【问题讨论】:
标签: ruby-on-rails ruby bundler
我从 Gemfile 中删除了一个 gem 'mygem',但刚才我意识到它仍然被安装。
那么我如何告诉 bundler 重新扫描 Gemfile 并更新 Gemfile.lock,而不更新每个 gem?
来自 php,我习惯这样做:composer update nothing。捆绑器是否有等价物?
【问题讨论】:
标签: ruby-on-rails ruby bundler
您可以只运行 bundle 或 bundle install 来根据您的 Gemfile 安装 gem。这将从您的 Gemfile.lock 文件中删除 mygem 的实例。但是,它不会从您的系统中删除 gem。为此,请运行gem uninstall mygem。
不完全相关,但仍有帮助:
bundle outdated 将向您展示不在最新版本上的宝石。不要太与此列表捆绑在一起 - 拥有不在最新版本上的 gem 是很常见的,因为某些 gem 是作为依赖项安装的,并且一个 gem 可能需要旧版本的另一个宝石。bundle upgrade mygem 将升级只是该 gem,并将其依赖项更新。这意味着其他 gem 也可能会升级或安装。【讨论】:
bundle clean 命令可以自动删除旧的和未使用的宝石。是否适用于 Bundler >= 1.1 并且如果使用 --path 选项安装了 gem。
gem cleanup ...知道两者有何不同吗?
bundle install --clean 见官方文档:bundler.io/v1.15/man/bundle-install.1.html
清理捆绑器目录中未使用的 gem: 捆绑清洁 --force
【讨论】: