Instalação do Ruby 2.0.0 via RVM: erros ao redor do openssl

8

Usando: Mountain Lion 10.8.2,RVM 1.18.15

Aparentemente , tendo problemas opensslao tentar instalar o Ruby 2.0.0 via RVM:

$ rvm install 2.0.0
...
Extracting openssl to /Users/meltemi/.rvm/src/openssl-1.0.1c
Configuring openssl in /Users/meltemi/.rvm/src/openssl-1.0.1c.
Error running './Configure darwin64-x86_64-cc -I/Users/meltemi/.rvm/usr/include -L/Users/meltemi/.rvm/usr/lib zlib no-asm no-krb5 --prefix=/Users/meltemi/.rvm/usr no-shared ', please read /Users/meltemi/.rvm/log/ruby-2.0.0-p0/openssl/configure.log
Compiling openssl in /Users/meltemi/.rvm/src/openssl-1.0.1c.
Error running 'make', please read /Users/meltemi/.rvm/log/ruby-2.0.0-p0/openssl/make.log

então eu brew install opensslatualizo o openssl 1.0.1eesperando que isso ajude, mas ainda há mais erros (consulte "saída longa").

Então, vasculhei o Stack Exchange e segui vagamente a sugestão neste post, que recomendava rvm get head(em oposição ao meu típico rvm get stable) e notava:

$ rvm get head
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
...
100 1620k  100 1620k    0     0   275k      0  0:00:05  0:00:05 --:--:--  479k

Upgrading the RVM installation in /Users/meltemi/.rvm/
    RVM PATH line found in /Users/meltemi/.bashrc /Users/meltemi/.zshrc.
    RVM sourcing line found in /Users/meltemi/.bash_profile /Users/meltemi/.zshrc.
    Installing rvm gem in 1 gemsets ERROR:  Loading command: install (LoadError)
    cannot load such file -- openssl
ERROR:  While executing gem ... (NoMethodError)
    undefined method `invoke_with_build_args' for nil:NilClass

Ser pouco interessante cannot load such file -- openssl.

O que da?

saída longa:

depois de atualizar o openssl para 1.0.1.e via homebrew, tente novamente, mas por qualquer motivo, o 1.0.1c ainda está sendo referenciado:

$ rvm reinstall 2.0.0 --with-openssl-dir=/usr/local          
Removing /Users/meltemi/.rvm/src/ruby-2.0.0-p0...
Removing /Users/meltemi/.rvm/rubies/ruby-2.0.0-p0...
Fetching openssl-1.0.1c.tar.gz to /Users/meltemi/.rvm/archives
Extracting openssl to /Users/meltemi/.rvm/src/openssl-1.0.1c
Configuring openssl in /Users/meltemi/.rvm/src/openssl-1.0.1c.
Error running './Configure darwin64-x86_64-cc -I/Users/meltemi/.rvm/usr/include -L/Users/meltemi/.rvm/usr/lib zlib no-asm no-krb5 --prefix=/Users/meltemi/.rvm/usr --with-openssl-dir=/usr/local no-shared ', please read /Users/meltemi/.rvm/log/ruby-2.0.0-p0/openssl/configure.log
Compiling openssl in /Users/meltemi/.rvm/src/openssl-1.0.1c.
Error running 'make', please read /Users/meltemi/.rvm/log/ruby-2.0.0-p0/openssl/make.log

Please note that it's required to reinstall all rubies:

    rvm reinstall all --force

Updating openssl certificates
Error running 'update_openssl_certs', please read /Users/meltemi/.rvm/log/ruby-2.0.0-p0/openssl.certs.log
Installing Ruby from source to: /Users/meltemi/.rvm/rubies/ruby-2.0.0-p0, this may take a while depending on your cpu(s)...
ruby-2.0.0-p0 - #downloading ruby-2.0.0-p0, this may take a while depending on your connection...
ruby-2.0.0-p0 - #extracting ruby-2.0.0-p0 to /Users/meltemi/.rvm/src/ruby-2.0.0-p0
ruby-2.0.0-p0 - #extracted to /Users/meltemi/.rvm/src/ruby-2.0.0-p0
ruby-2.0.0-p0 - #configuring
ruby-2.0.0-p0 - #compiling
ruby-2.0.0-p0 - #installing 
Removing old Rubygems files...
Installing rubygems-2.0.0 for ruby-2.0.0-p0 ...
Error running 'env GEM_PATH=/Users/meltemi/.rvm/gems/ruby-2.0.0-p0:/Users/meltemi/.rvm/gems/ruby-2.0.0-p0@global:/Users/meltemi/.rvm/gems/ruby-2.0.0-p0:/Users/meltemi/.rvm/gems/ruby-2.0.0-p0@global GEM_HOME=/Users/meltemi/.rvm/gems/ruby-2.0.0-p0 /Users/meltemi/.rvm/rubies/ruby-2.0.0-p0/bin/ruby /Users/meltemi/.rvm/src/rubygems-2.0.0/setup.rb', please read /Users/meltemi/.rvm/log/ruby-2.0.0-p0/rubygems.install.log
Installation of rubygems did not complete successfully.
Saving wrappers to '/Users/meltemi/.rvm/bin'.
ruby-2.0.0-p0 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
ruby-2.0.0-p0 - #importing default gemsets, this may take time ...
Install of ruby-2.0.0-p0 - #complete 
Making gemset ruby-2.0.0-p0 pristine.
Error running '' under ,
please read /Users/meltemi/.rvm/log/ruby-2.0.0-p0/gemset.pristine.log
Making gemset ruby-2.0.0-p0@global pristine.
Error running '' under ,
please read /Users/meltemi/.rvm/log/ruby-2.0.0-p0/gemset.pristine.log
Meltemi
fonte
Eu tive o mesmo problema depois de atualizar para o OSX Mavericks.
Hengjie

Respostas:

16

Teve o mesmo problema. Tente o seguinte:

$ rvm remove 2.0.0 # get rid of unsuccessful installation
$ rvm get head --autolibs=3 # get the latest RVM and build required libs
$ rvm requirements # just in case, install all other required stuff
$ rvm install ruby-2.0.0
$ rvm --default use ruby-2.0.0
Artem Pakk
fonte
o que exatamente a --autolibs=3bandeira faz? Não consigo encontrar nenhuma documentação ...
Meltemi
FWIW- Eu segui suas instruções, meio que: remove 2.0.0e depois rvm get head(ignorando o --autolibs=3bit). requisitos verificados. ESTÁ BEM. então rvm install ruby-2.0.0. e ... sem problemas! Funcionou!
Meltemi
github.com/wayneeseguin/rvm/issues/1623 Há algumas informações sobre o autolibssinalizador, tanto quanto eu entendo, ele diz ao RVM como lidar com as bibliotecas adicionais necessárias.
Artem Pakk #
A documentação para autolibs pode ser encontrada executando o seguinte cmd: "rvm help autolibs" no terminal
Jeremy Cade
Em OSX 10.8: tambémsudo brew install openssl
idonnie 14/03
0

Então, isso funcionou para mim:

rvm pkg install openssl
rvm reinstall all --force

Eu também tive o rvm autolibs rvm_pkgsuporte de readline.

Dorian
fonte