如何在捆绑安装期间清除 :development, :test 中的宝石?

How can I clean out gems in :development, :test during bundle install?

关于持续集成,我已经安装了 运行 测试和编译资产等所需的所有 gem。

现在,我想重用已安装的 gem,这些 gem 在启动时缓存,然后为需要它们的每个作业提取。

当我到达最后一步时,我想从生成的 docker 图像中的 vendor/bundle 中清除所有测试和开发 gem。

BUNDLE_DEPLOYMENT=true BUNDLE_CLEAN=true BUNDLE_WITHOUT=development,test bundle install 似乎没有完成我预期的工作。

是否有另一种方法可以从 vendor/bundle 目录中清除属于我要跳过生产部署的环境中的 gem?

来自bundler documentation

without (BUNDLE_WITHOUT): A :-separated list of groups whose gems bundler should not install.

您使用逗号分隔组,而不是冒号,这就是为什么这不起作用。如果您改用 --without,列表将被 space 分隔。