bundle info puma执行失败原因及忽略开发测试组依赖方法咨询
问题解答
为什么bundle info puma会关注test/development组的依赖?
在deployment模式下,Bundler会默认校验整个Gemfile.lock的完整性——哪怕你安装时跳过了test和development组的gem,lock文件里依然记录着所有组的依赖关系。bundle info命令是基于当前Bundler环境执行的,默认环境会包含Gemfile里所有组的定义,所以它会检查lock文件中所有依赖是否存在,哪怕这些依赖属于没安装的组,最终导致报错。
如何让命令忽略test和development组的依赖?
有三种可行的方法:
- 临时指定排除组:直接在命令后加
--without参数,指定要忽略的组:bundle info puma --without test development - 永久设置本地配置:通过bundle config把排除组设为本地默认,之后所有bundle命令都会自动忽略这些组:
bundle config set --local without 'test development' # 之后直接运行即可 bundle info puma - 临时环境变量设置:通过环境变量临时指定排除组,不修改配置文件:
BUNDLE_WITHOUT="test:development" bundle info puma
内容的提问来源于stack exchange,提问作者Baiyang Li
相关产品推荐
相关产品推荐

