跳过非开发环境 gem 安装



我在环境之外需要一些宝石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

最新更新