【问题标题】:Bundle install selected group into custom path将选定的组捆绑安装到自定义路径中
【发布时间】:2016-05-03 00:20:14
【问题描述】:

作为Bundle deployment only for selected gems的后续,使用--without选项的黑名单解决方案,例如:

group :runtime do
  gem 'rails'
  ...
end
group :runtime_unpackaged do
  gem 'less2sass'
end

runtime_unpackaged可以使用命令安装:

bundle --path vendor/bundle --without runtime

runtime 组通过 debian 包安装,因为应用程序本身被打包为 .deb 包。

但是,应用程序将不再处理 runtime 组中的所有其他 gem,因为此命令将创建一个文件 .bundle/config 将它们过滤掉。

换句话说,我想使用系统中的 gem 加载应用程序 - debian jessie 包 -(组 runtime)以及本地安装在 vendor/bundle(组 runtime_unpackaged)的 gem。

【问题讨论】:

  • 您能更清楚地说明您的问题吗?运行 bundle --path vendor/bundle --without runtime 的实际终端输出中究竟有什么不符合您的期望/想要的?
  • @wjordan 在该命令之后应用程序将无法运行,因为它不会加载所需的所有 gem,这基本上就是问题所在。一部分 gems 来自系统(debian 包),另一部分捆绑在vendor/bundle
  • “应用程序不会运行,因为它不会加载所需的所有 gem”仍然太模棱两可。请复制并粘贴带有错误代码的终端命令的确切输出,以及所有相关文件的完整源代码,以最小可重现的示例。否则,太不清楚您到底要做什么以及错误到底是什么,而且没有其他人能够足够接近地重现您的问题以提出解决方案。

标签: ruby rubygems bundler


【解决方案1】:

如果你想运行 Bundler 并让它加载两个组,你应该能够运行 bundle install 并忽略 --without 标志。您还可以使用 Bundler.require(:group1, :group2, etc..) 在 application.rb 文件中设置特定组以使用 bundle install 运行。查看Bundler.io's 群组部分

【讨论】:

  • 我只希望使用 bundle install 安装一组,因为另一组是通过 debian 软件包安装的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-17
  • 1970-01-01
  • 2012-11-03
  • 2014-05-06
  • 2016-12-05
相关资源
最近更新 更多