我可以使用 rbenv 安装其他原生扩展gem install
。但是,所有服务器(减去 webrick)都给我这个问题:
构建原生扩展。这可能需要一段时间...
错误:安装瘦身时出错:
ERROR: Failed to build gem native extension. /custom_dir/.rbenv/versions/ruby-2.0.0-p247/bin/ruby extconf.rb
的输出gem_make.out
与上一行相同。 bundle install
并且bundle install --deployment
工作正常。服务器在bundle exec
. 但是,我无法弄清楚为什么gem install puma|thin|etc
会失败。这并不重要,但我想知道如果这是另一个问题的征兆,会发生什么。
另一个症状:如果我安装瘦或独角兽,我会根据它们的依赖关系得到相同的错误。换句话说,它告诉我查看kgio/gem_make.out
orraindrops/gem_make.out
等。但是,如果我单独安装它们的依赖项:kgio、raindrops 等,它们安装得很好(使用gem install kgio
)。但是,当我尝试安装最终包、瘦、独角兽等时,它给了我同样的错误ruby extconf.rb
,没有进一步的细节。
另一个症状:如果我遗漏了 rdoc/ri 文档,我只能编译 Ruby 2.0。make: *** [rdoc] Error 137
如果我用文档编译 Ruby,我会得到一个。我相信这与服务器 gem 无法编译的原因有关。我已经设法unicorn
手动安装 w/o Rubygems,使用Ruby 2.0
.
Ruby 1.9.
与 rdoc/ri 文档一起编译得很好。puma
和其他安装正常,即使使用 rdoc/ri 文档生成。所以这似乎是一个问题:
- 红宝石 2.0
- rdoc/ri 生成
更新:Ruby 2.0
使用 RVM(而不是 rbenv)安装有效。安装所有其他服务器 gem 工作正常,可执行文件(例如puma
)工作正常。RVM 似乎做了一些额外的事情,而 rbenv/ruby-build 没有。