我在 box1 上运行了一个 RoR 应用程序……它显然在那个盒子上安装了 Ruby、RubyGems 和 Rails,以及其他一些 gem。
我想复制整个设置,这样它也可以在 box2 上独立运行。
两个盒子都没有互联网连接,但另一台机器上有互联网连接。
据我所知,我需要——
- 在 box2 上安装 Ruby(我有 RPM,没问题)
- 在 box2 上安装 RubyGems(我有 RPM,没问题)
- 安装 Rails(我该怎么做?)
- 将整个 Rails 应用程序目录复制到 box2 上?
Ruby on Rails 站点上的唯一指导是运行gem install rails
,但如果没有 Internet 连接,我无法执行此操作。
那么我可以只bundle package
在 box1 上运行,然后将生成的 gem 文件复制到 box2 上并在每个文件上进行本地 gem install 来安装它们吗?或者我可以简单地将'usr/local/lib/ruby/gems/1.9.1/gems'目录复制到box2上吗?
其次,我计划将我的 Rails 应用程序打包到 RPM 中,这样我就可以轻松地将它部署到我想要的任何地方......我可以将我的 gem 文件(由 产生bundle package
)包含在 RPM 目录结构中,然后在 .spec文件在安装过程中进行 gem 安装?这样,它将在安装 RPM 时安装所需的 gem。
可能我忽略了一个更简单的方法,或者误解了一些东西,如果是这样,请赐教。有什么帮助吗?