【问题标题】:How to update single rails engine (gem) within a rails app?如何在 Rails 应用程序中更新单个 Rails 引擎(gem)?
【发布时间】:2013-12-30 06:12:22
【问题描述】:

我们的 rails 3.2.12 应用程序中有多轨引擎 (gem)。当 Rails 引擎有更新时,版本也会更新。然后bundle update engine_name 更新引擎。但是当bundle update engine_name 时,有一个关于ActiveModel 的错误,它不应该被更新。更新单个 Rails 引擎 gem 的正确方法是什么?

【问题讨论】:

  • 升级 rails 将拉升需要的 gem,如 active_record 等...
  • 只需在 Gemfile 中更改 rails 版本并运行 bundle install

标签: ruby-on-rails ruby-on-rails-3 bundler


【解决方案1】:
bundle update --source=engine_name

这将仅从源代码更新您的“engine_name”,并尝试使用已在 Gemfile.lock 中定义的所有其他 gem 的版本。

【讨论】:

  • 如何使用 bundle update --source=engine_name 指向一个分支?引擎 gem 位于 git 的一个分支下。在新部署之后运行 bundle install ,引擎的代码仍然没有更新。
  • 命令 bundle update --source=engine_name 从分支中引擎的最新提交中提取。在拉取之前,它必须咨询 Gemfile。
  • 它将在您的 Gemfile 中查找您使用 ' :branch => "1-x-stable"' 指定的分支。您说“它必须咨询 Gemfile”时缺少什么?
  • 它不会拉取最新的提交。我最终不得不指向一个不同的分支,运行包更新,指向原始分支,再次运行包更新,然后我的提交 SHA 被更新。关于如何强制 SHA 更新的任何想法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多