我在环境之外需要一些宝石development
。所以我将它们移动到相应的组Gemfile
如下所示:
group :staging, :production do
gem 'activerecord-oracle_enhanced-adapter', '~> 5.2.0'
gem 'ruby-oci8', '~> 2.2', '>= 2.2.7'
gem 'aws-sdk-s3', '~> 1.48', require: false
end
尽管如此,克隆项目后,运行bundle install
时仍然需要安装ruby-oci8
.我错过了什么?
默认情况下,bundle install
将安装Gemfile
中所有组中的所有 gem,除了为不同平台声明的 gem。
但是,您可以显式告诉 Bundler 跳过使用--without
选项安装某些组。此选项采用以空格分隔的组列表。
虽然--without
选项将跳过在指定组中安装 gem,但它仍将下载这些 gem 并使用它们来解决Gemfile
中每个 gem 的依赖关系。
这样,在另一台计算机(如生产服务器(上安装一组不同的组不会更改您已经开发和测试的 gem 和版本。
参考: https://bundler.io/man/bundle-install.1.html