我需要将 Rails 3/Phusion Passenger/Apache2 应用程序部署到 Ubuntu 12.04 服务器,而无需在服务器上安装任何 gem。
我可以安装任何 Debian 软件包。
如何在我的项目中包含所有需要的 gem(包括 Rails,从 github 上的 git 项目安装的几个 gem,以及从 rubygems.org 安装的一堆常规 gem),以便在部署后,Passenger 会找到 Rails 和所有宝石和快乐?
(我知道很多人可能会好奇我为什么要这样做。不幸的是,我不能谈论这个。抱歉。)
以下是一些没有奏效的事情。如果稍微修改一下,其中一个可能会起作用,我不知道:
方法一失败:
- 在 Ubuntu 12.04 开发机器上。红宝石 1.9.3。捆绑器 1.3.5。捆绑包——全部。Git 提交。
- 在 Ubuntu 12.04 服务器机器上(无法从 Internet 安装 gem)。部署项目文件并安装包(apache2、ruby1.9.3、ruby-bundler、rubygems、libapache2-mod-passenger,它带来了 ruby1.8)。bundle -v 提供 Bundler 版本 1.0.15(来自 ruby-bundle 包)。确保也部署了来自开发机器的 .bundle/config 文件。bundle install --local 尝试从 github 下载 git gem,所以失败了。