我可以使用 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.outorraindrops/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 没有。