【问题标题】:How to re-sync Gemfile.lock on changes to Gemfile如何重新同步 Gemfile.lock 对 Gemfile 的更改
【发布时间】:2012-10-27 16:24:36
【问题描述】:

如何重新同步 Gemfile.lock 对 Gemfile 的更改。

假设我在 Gemfile 中有 3 个宝石(gem1、gem2、gem3)。

bundle install 创建一个 Gemfile.lock 文件。

如果我删除 gem3 并运行 bundle install,我希望重新生成 Gemfile.lock 并将 gem3 从 rvm gemset 中删除。但它没有,我应该如何在不删除 gemset 的情况下重新同步。

【问题讨论】:

  • 它表示 Gemfile 的依赖关系已满足。但我不想在 Gemfile.lock 中引用 gem3。
  • bundle check 也重新创建了Gemfile.lock。这不是你想要的吗?
  • 很好,但bundle install 没有为你做同样的工作吗?您可能还忽略了运行 git diff(或目视检查您的 Gemfile.lock)以确保您的 Gemfile.lock 已更改。
  • 你是对的 bundle install 也这样做了,没有做 git diff。但我想我真正的问题是,如何在任何移除时将其从 rvm gemset 中移除。

标签: ruby-on-rails rvm bundler


【解决方案1】:

要使 Gemfile.lock 与 Gemfile 编辑保持一致,请运行 bundle check

要使 Gemfile.lock 与 Gemfile 编辑和最新的兼容 gem 保持一致,请运行 bundle update


相关:viget 的这篇博文对Bundler Best Practices 有一些很好的建议

【讨论】:

  • 捆绑更新将覆盖您在 Gemfile 中指定的 gem 版本
  • 这不应该被标记为答案,因为它会将您的所有 gem 更新到最新版本,这不是您想要做的。对于任何访问者:在 cmets 中查找问题以查看真正的答案(捆绑安装)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 2019-03-01
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
相关资源
最近更新 更多