【发布时间】:2013-10-20 19:43:35
【问题描述】:
我需要将 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,所以失败了。
【问题讨论】:
-
尝试使用
gem unpack,如this article所示。希望这比您迄今为止尝试的两件事效果更好。
标签: ruby-on-rails-3 ubuntu gem bundler passenger