我想将大量 gem 和捆绑安装下载到我计算机中的目录(例如 - ~/gems_cache),然后复制此文件夹并将 gem 安装在没有互联网访问权限的计算机中。
我知道我可以进行捆绑包和 gem fetch,但是如果有一个配置会说 bundler 和 rubygems 将所有 gem 下载到这些文件夹中会容易得多,我该怎么做?
提前致谢!
运行bundle package
一次后,Bundler 将vendor/cache
在您运行时使目录保持最新bundle install
。在断开连接的计算机上,您可以运行bundle install --local
以从vendor/cache
.
如果要复制已安装的 gem,请运行bundle install --path vendor/bundle
. Bundler 会将所有 gem 安装到vendor/bundle
项目的子目录中。您可以替换任何您喜欢的路径。
请注意,如果您有编译特定于平台的代码(例如 C 库)的 gem,则需要在与目标计算机相同的平台上打包和安装。
我在这方面看到的最好的文章是 Steve Klabnik 的如何不依赖 Rubgems.org 进行部署。他推荐了一种略有不同的方法,但很好地描述了不同的选择和权衡。