Puppet não funciona com augeas em um ambiente de várias versões de ruby

2

Eu estou tentando fazer um fantoche funcionar com o augeas, mas ele reclama que não há nenhum provedor de augeas. Alguns googling sugeriram para

sudo yum install augeas
augtool ls /files/etc/php.ini # test it works as expected
sudo yum install ruby-augeas # this is to "bridge" ruby and augeas
ruby -raugeas -e "puts Augeas.open" # Test ruby can talk to augeas
/usr/local/rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require': cannot load such file -- augeas (LoadError)
    from /usr/local/rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require'

Tudo funciona e instala além da última linha. Ruby simplesmente não sabe onde encontrar o augeas.rb porque não está no ruby include path

[vagrant@SubscriptionsAPI ~]$ sudo find / -name "augeas.rb"
/usr/local/rvm/gems/ruby-2.0.0-p451/gems/puppet-3.4.3/lib/puppet/provider/augeas/augeas.rb
/usr/local/rvm/gems/ruby-2.0.0-p451/gems/puppet-3.4.3/lib/puppet/type/augeas.rb
/usr/lib/ruby/site_ruby/1.8/augeas.rb

[vagrant@SubscriptionsAPI ~]$ ruby -e 'puts $:'
/usr/local/rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0
/usr/local/rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby/2.0.0/x86_64-linux
/usr/local/rvm/rubies/ruby-2.0.0-p451/lib/ruby/site_ruby
/usr/local/rvm/rubies/ruby-2.0.0-p451/lib/ruby/vendor_ruby/2.0.0
/usr/local/rvm/rubies/ruby-2.0.0-p451/lib/ruby/vendor_ruby/2.0.0/x86_64-linux
/usr/local/rvm/rubies/ruby-2.0.0-p451/lib/ruby/vendor_ruby
/usr/local/rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0
/usr/local/rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/x86_64-linuxе

Estou correto assumindo que este é o caso? Se sim, como posso instalar o augeas para uma versão específica do Ruby? Ou é mais limpo modificar o ruby include path?

    
por Vladimir Hraban 01.09.2015 / 17:00

1 resposta

1

As bibliotecas de rubis compactadas e o RVM são dois ambientes separados. Você não pode misturá-los assim, você precisa escolher qual deles usar.

Então você precisa:

  • instale as ligações do Auge ruby usando pacotes
  • ou instale o Puppet no RVM
por 01.09.2015 / 18:03