用于在自定义路径中查找 gem 或从自定义源下载的 Bundler 配置
Bundler config to either look for gems in custom path or download from custom source
我如何配置捆绑器,以便当我 运行 bundle install
时,它首先在 /my/custom/path
下查找 gems,如果找不到则尝试从托管在 https://a.nice.host
下的 ruby gem 远程存储库中获取它们并将它们下载到 ./local/relative/path
(例如相对于 cwd
)。我想避免捆绑器查看默认 gem
安装系统路径或 rubygems.org
从本地文件夹获取 gem 的语法是:
gem 'some-gem-name', path: '/my/custom/path'
指定自定义来源的语法是:
gem 'another-gem-name', source: 'https://a.nice.host'
要将 gems 安装到特定的本地文件夹,您可以 运行:
bundle install --path ./local/relative/path
现在,这就是 可能 你需要的所有工具,事实上......(事实上,特别是对于最后一个要求,你可能希望研究 rvm gemsets
, 或使用 bundle install --deployment
.)
但是您也确实询问过“先在本地文件夹 中查找,如果远程源不存在则回退”。这是一个很奇怪的要求(通常你只想明确地 选择加入 以从本地路径获取 gems?!),但在你回答这个问题时问过了...
A Gemfile
字面意思就是 ruby 代码!所以你可以定义这个逻辑使用...你猜对了,ruby!例如:
if File.exists?('/my/custom/path')
gem 'some-gem-name', path: '/my/custom/path'
else
gem 'some-gem-name', source: 'https://a.nice.host'
end
如果需要在多个地方重复这个(不寻常的)模式,您可以将它包装到一些辅助方法中。
有关bundler
配置选项的更多信息,请参阅the documentation。
我如何配置捆绑器,以便当我 运行 bundle install
时,它首先在 /my/custom/path
下查找 gems,如果找不到则尝试从托管在 https://a.nice.host
下的 ruby gem 远程存储库中获取它们并将它们下载到 ./local/relative/path
(例如相对于 cwd
)。我想避免捆绑器查看默认 gem
安装系统路径或 rubygems.org
从本地文件夹获取 gem 的语法是:
gem 'some-gem-name', path: '/my/custom/path'
指定自定义来源的语法是:
gem 'another-gem-name', source: 'https://a.nice.host'
要将 gems 安装到特定的本地文件夹,您可以 运行:
bundle install --path ./local/relative/path
现在,这就是 可能 你需要的所有工具,事实上......(事实上,特别是对于最后一个要求,你可能希望研究 rvm gemsets
, 或使用 bundle install --deployment
.)
但是您也确实询问过“先在本地文件夹 中查找,如果远程源不存在则回退”。这是一个很奇怪的要求(通常你只想明确地 选择加入 以从本地路径获取 gems?!),但在你回答这个问题时问过了...
A Gemfile
字面意思就是 ruby 代码!所以你可以定义这个逻辑使用...你猜对了,ruby!例如:
if File.exists?('/my/custom/path')
gem 'some-gem-name', path: '/my/custom/path'
else
gem 'some-gem-name', source: 'https://a.nice.host'
end
如果需要在多个地方重复这个(不寻常的)模式,您可以将它包装到一些辅助方法中。
有关bundler
配置选项的更多信息,请参阅the documentation。