脱机服务器上的Ruby gem依赖项

我有一个完全与Internet断开连接的服务器(出于一些奇怪的安全原因)。

如何使Ruby依赖于各种gems在该环境中工作? 它可能适用于Bundler ,但如何在没有Internet连接的情况下使用gem安装Bundler?

您可以从rubygems下载.gem作为.gem文件,并将其安装在服务器上

 gem install /path/to/bundler.gem 

然后,您可以将应用程序所需的所有gem打包到./vendor/cache目录中

 bundle package 

如果您现在将应用程序(以及./vendor/cache目录)部署到服务器并运行

 bundle install --local 

bundler不会去rubygems,而是安装来自./vendor/cache目录的所有gem。

有关更多信息,请参阅bundler-package 文档 。