首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一个项目中拥有多个Gemfile?

如何在一个项目中拥有多个Gemfile?
EN

Stack Overflow用户
提问于 2018-05-25 18:32:34
回答 2查看 1.6K关注 0票数 0

在我的团队中,一些人喜欢使用pry-rails gem,而另一些人则不喜欢。

有没有办法为开发提供一个辅助的Gemfile,这样我就不需要把它提交给git,而仍然可以被bundler读取

EN

回答 2

Stack Overflow用户

发布于 2018-05-25 20:13:58

您可以运行:

代码语言:javascript
复制
BUNDLE_GEMFILE=/path/to/another/gemfile bundle install 

或在Gemfile中(将与已提交的Gemfile.lock冲突):

代码语言:javascript
复制
gem 'pry-rails' if ENV['WITH_PRY']

并填充WITH_PRY环境变量以启用pry。

另一个避免Gemfile.lock与Rails应用冲突的解决方案是:

代码语言:javascript
复制
# In Gemfile
group :dev_with_pry do
  gem 'pry-rails'
end

并将dev_with_pry添加到RAILS_GROUPS环境变量中,这将安装gem,但不需要它。

票数 9
EN

Stack Overflow用户

发布于 2018-05-25 20:26:46

根据共享的规范,您可以通过拥有两个gemfiles并根据环境要求它们来进行管理。

代码语言:javascript
复制
Gemfile

source 'https://rubygems.org'
gemfiles = [ 'Gemfile1', 'Gemfile2' ]
gemfiles.each do |gemfile|
    instance_eval File.read(gemfile)
  end
end

现在,您可以拥有两个单独的Gemfile,例如

Gemfile1

代码语言:javascript
复制
source 'https://rubygems.org'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.1'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'

# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'

# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'

# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'

gem 'pry'

然后可以在Gemfile2中添加其他gem

Gemfile 2

代码语言:javascript
复制
source 'https://rubygems.org'

https://github.com/rails/turbolinks
gem 'turbolinks'
gem 'jbuilder', '~> 1.2'

group :doc do
 gem 'sdoc', require: false
end

希望它能有所帮助!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50527194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档