【发布时间】:2014-02-12 22:16:48
【问题描述】:
我有一个 gem (ruby-odbc) 我需要安装在 linux 机器上。 gem 需要在安装过程中编译,我不能在目标机器上编译。有什么方法可以复制安装在不同但几乎相同的机器上的 gem 二进制文件跳过编译?
【问题讨论】:
-
你可以试试。在本地机器上找到 gem 的安装目录: gem which ruby-odbc。复制该目录并试一试
我有一个 gem (ruby-odbc) 我需要安装在 linux 机器上。 gem 需要在安装过程中编译,我不能在目标机器上编译。有什么方法可以复制安装在不同但几乎相同的机器上的 gem 二进制文件跳过编译?
【问题讨论】:
我会通过使用 bundler 出售 gems 来处理这个问题,然后将其分发到 linux 机器上。
Bundler 提供了Bundle Package。
将 gem 锁定并缓存到./vendor/cache
$ bundle package
然后在您的部署中,您可以添加 --local 标志以防止 RubyGems 进入 rubygems.org:
$ bundle install --local
./vendor/cache 目录可以存储在您的存储库中,或者您可以将其添加为部署过程的一部分。
【讨论】: