Rails 捆绑程序根据环境更改 gem 的分支

Rails bundler change branch of gem depending on environment

我正在尝试根据 Rails 环境在 Gemfile.rb 中使用不同的分支。这可能吗?

我试过以下方法,但无论环境如何,分支总是branch_B:

branch = 'branch_A'
group :production do
  branch = 'branch_B'
end
gem 'gem_name', git:'git_url', branch: branch

看看这是否有帮助

def branch
    if ENV["RAILS_ENV"] == "production"
        @branch = 'branch_B'
        puts "I'm in production"
    else
        @branch = 'branch_A'
        puts "I'm in development"
    end
end

gem 'sqlite3', branch: branch

在终端中,您必须 运行

RAILS_ENV=development bundle