1

在我们的生产环境中,我们被禁止安装编译器(不要问)。回到 Ruby 1.8.7 时代,我们会使用 gem-compile 在开发工作站上编译二进制 gem,并将二进制 gem 放到我们的存储库中。有人知道任何可用于 Ruby 2.0 的类似方法吗?我知道 RVM 能够构建可以部署的自定义红宝石包,但我找不到任何方法让它与 gems 一起工作。

我想提出一些比在开发盒上构建所有内容并将整个 rvm 目录同步到服务器的东西更简单的东西。

谢谢!

4

2 回答 2

0

检查 rvm 离线安装的这一部分 - http://rvm.io/rvm/offline#installing-gems

在线的

  1. 创建一个(假的)项目目录:mkdir gems;光盘宝石
  2. 安装捆绑器:gem install bundler
  3. 创建 Gemfile:捆绑初始化
  4. 向其中添加导轨: echo "gem 'rails'" >> Gemfile
  5. 安装所有 gem:bundle install
  6. 获取 gem 文件:捆绑包
  7. 打包项目:tar czf gems.tgz。
  8. 从https://rubygems.org/gems/bundler下载 bundler下载链接

离线

  1. 创建一个(假的)项目目录:mkdir gems;光盘宝石
  2. 解压宝石:tar xzf gems.tgz
  3. 安装捆绑器:gem install bundler-1.2.1.gem
  4. 安装 gems: bundle install --local
于 2013-10-23T21:45:52.100 回答
0

没关系,我找到了答案。有一个来自https://github.com/luislavena/gem-compiler的名为 gem-compiler 的较新的 gem ,它适用于 Ruby 2。我认为它不起作用,因为我无意中仍然安装了 gem-compile 的旧副本当我运行“gem compile”时,它就被执行了。无论如何,这会为我生成平台特定的 gem,我可以将它们安装在我们的生产环境中。

干杯和感谢,

杰森

于 2013-10-24T17:11:05.830 回答