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

Pet*_*r B 13 ruby gem offline bundler

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

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

KL-*_*L-7 25

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

gem install /path/to/bundler.gem
Run Code Online (Sandbox Code Playgroud)

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

bundle package
Run Code Online (Sandbox Code Playgroud)

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

bundle install --local
Run Code Online (Sandbox Code Playgroud)

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

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