Puppet e Vim brigando pela versão do Ruby

2

Eu instalei o puppet 3.0.1 do .dmg do puppetlabs. Se eu remover o Ruby 1.9.3, o Puppet funciona, mas outras coisas, como a instalação do vim (plugins dependentes), não.

De acordo com o link 1.9.3 é suportado. Então, o que está errado com o fantoche?

% uname -a
Darwin Kusanagi.local 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64

% which ruby
/usr/local/bin/ruby

% ruby --version
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin11.4.2]

% /usr/bin/ruby --version
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin11.0]

% brew info ruby                                                                                                                                    1 ↵
ruby: stable 1.9.3-p327, HEAD
http://www.ruby-lang.org/en/
Depends on: pkg-config, readline, gdbm, libyaml
/usr/local/Cellar/ruby/1.9.3-p327 (796 files, 17M) *
https://github.com/mxcl/homebrew/commits/master/Library/Formula/ruby.rb
==> Options
--with-tcltk
    Install with Tcl/Tk support
--with-suffix
    Suffix commands with "19"
--universal
    Build a universal binary
--with-doc
    Install documentation
==> Caveats
NOTE: By default, gem installed binaries will be placed into:
  /usr/local/Cellar/ruby/1.9.3-p327/bin

You may want to add this to your PATH.

% puppet
/usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in 'require': cannot load such file -- puppet/util/command_line (LoadError)
    from /usr/local/Cellar/ruby/1.9.3-p327/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in 'require'
    from /usr/bin/puppet:3:in '<main>'
    
por devians 12.12.2012 / 14:56

2 respostas

1

Aqui está a matriz de suporte do Puppet para versões em ruby:

link

(UPDATE após OP atualizado para mostrar mensagens de erro)

O Puppet se instalou em seu sistema local da biblioteca Ruby sob /usr/lib/ruby/1.8/site_ruby/ , que o ruby homebrew não vai olhar.

A linha superior de /usr/bin/puppet é #!/usr/bin/env ruby , que executa o primeiro ruby em seu $ PATH. Assim, você pode ajustar sua variável $ PATH ou alterar essa linha para executar especificamente o ruby do sistema, a'la:

#!/usr/bin/ruby

    
por 13.12.2012 / 02:30
1

É por isso que o rvm ( link ) foi inventado. É a única maneira sensata de executar Ruby ou desenvolver aplicativos em Ruby IMHO. Rubis diferentes para coisas diferentes.

    
por 24.08.2013 / 15:44