如何克隆 gem、修复它、将其添加到存储库、捆绑并使用 Rails 进行部署

How to clone a gem, fix it, add it to repo, bundle, and deploy with Rails

我有一个 Rails 5 应用程序,它使用 gem,它不再在生产中运行。我修复了它,尝试按照以下方法将其添加到我的本地 Gemfile 中:

https://gist.github.com/zulhfreelancer/1d30bf77e9b26773a6b45c99fc0a4b0b

(但是这个食谱没有提供如何将它添加到你的仓库)。所以,我尝试 git 将它全部添加到我的 vendor/gems 目录中的 repo 中。一切正常,但当我尝试部署时,我得到:

You are trying to install in deployment mode after changing
your Gemfile. Run `bundle install` elsewhere and add the
updated Gemfile.lock to version control.

我按照清算和重新捆绑的方法进行操作,同样的错误。使事情复杂化的是,我们使用 rvm,不确定这是不是一个问题,只是添加了额外的信息。

所以一般来说,你如何修复别人的缺陷gem(回购已关闭所以我不能提交拉取请求,虽然我确实留下了一个问题),并在本地使用你的通过将其添加到您的存储库并确保 Capistrano 和捆绑器将在生产中使用您的本地源来修改您的应用程序中的 gem?

谢谢, 凯文

步骤

  1. 在Github

    上Fork你账户下的项目
  2. 进行所需的更改

  3. 使用gem 'gem_name', git: 'your_forked_project', branch: 'the_branch_you_working_on'

  4. 运行 bundle install