如何打包ruby应用程序进行离线安装?

我有一个无法访问Internet的Intranet服务器,我需要在其上部署RoR应用程序。

我的过程将是下载Ruby,安装它,下载Rails,安装它等等。但我想在我的Gemfile中安装多个gem。 如何在Intranet服务器上获取这些内容? 我是否必须单独下载它们,或者有没有办法将它们打包?

通过运行以下命令,您可以告诉bundler将供应商所需的所有gem告诉供应商:

 bundle install --deployment 

这将在应用程序的根目录中创建vendor目录。 将应用程序移动到独立服务器时,请确保包含此目录。 您仍然需要安装Ruby,RubyGems和bundler gem。

对于Ruby和RubyGems,您可以下载各自的安装程序。 您可以使用gem fetch下载Bundler的副本

 gem fetch bundler 

这将下载像bundler-1.6.5.gem这样的gem文件,你可以在独立服务器上安装:

 gem install bundler-1.6.5.gem