Chef, instalação do nokogiri com bibliotecas do sistema falha no Centos 6.5

1

Estou tentando consertar uma receita que precisa das gemas nokogiri e savon no Centos 6.5.

Desde o simples

chef_gem 'nokogiri'
require 'nokogiri'
chef_gem 'savon'
require 'savon'

não funciona (o chef diz que o patch da libxml2 2.8.0 retornou um erro), (Edit: aqui está o erro completo link )

Eu decidi tentar instalar o nokogiri com as bibliotecas do sistema.

Se eu fizer isso diretamente no servidor, tudo funcionará bem:

[vagrant@localhost ~]$ sudo /opt/chef/embedded/bin/gem install nokogiri -q --no-rdoc --no-ri -v "1.6.2.1" -- --use-system-libraries
Building native extensions.  This could take a while...
Building nokogiri using system libraries.
Successfully installed mini_portile-0.6.0
Successfully installed nokogiri-1.6.2.1
2 gems installed

Mas se eu executar a instalação através do Chef com o comando:

chef_gem "nokogiri" do
  options("-- --use-system-libraries")
  action :install
end
require 'nokogiri'

Eu recebo um erro:

------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of gem install nokogiri -q --no-rdoc --no-ri -v "1.6.2.1" -- --use-system-libraries ----
STDOUT: 
STDERR: ERROR:  Error installing nokogiri:
    nokogiri requires Ruby version >= 1.9.2.
---- End output of gem install nokogiri -q --no-rdoc --no-ri -v "1.6.2.1" -- --use-system-libraries ----
Ran gem install nokogiri -q --no-rdoc --no-ri -v "1.6.2.1" -- --use-system-libraries returned 1

Desde que o Ruby incorporado é 1.9.3

[vagrant@localhost ~]$ /opt/chef/embedded/bin/ruby --version
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]

Meu palpite é que o Chef está usando o binário errado (o sistema Ruby é 1.8.7), mas não tenho idéia do porquê isso está acontecendo, especialmente porque o chef_gem 'nokogiri' anterior parecia usar o código correto.

Estou sentindo falta de algo?

    
por Giovanni Di Milia 10.06.2014 / 14:29

0 respostas