我已将一些常见的功能转移到一个独立的宝石上并且一直在使用它。在制作中,我直接从github包含了宝石。
#common
gem 'engine', path: '../engine'
#gem 'engine', branch: 'master', git: 'source to engine.git'
问题是,当我进入开发模式时,我会注释掉第二行并在签入之前将其还原。这对我每次登记都很烦人。我无法添加{{3} } gemfile因为应用程序仍在开发中,我们会一直修改此文件。
我尝试使用
分别对它们进行分组group :development, :test do
gem 'engine', path: '../engine'
group :production do
gem 'engine', branch: 'master', git: 'source to engine.git'
但它抛出一个错误,说我无法定义两次宝石。我不明白我在这里做错了什么。
请帮我解决这个问题。
答案 0 :(得分:1)
gem在两组中实际上定义了两次,因为Gemfile解析器无论如何只是看到了一个组。尝试关闭if
条件下的生产环境的gem:
group :development, :test do
if ENV[ 'RAILS_ENV' ] != 'production'
gem 'engine', path: '../engine'
end
end
group :production do
if ENV[ 'RAILS_ENV' ] == 'production'
gem 'engine', branch: 'master', git: 'source to engine.git'
end
end