Alguém já tentou instalar ruby ??& rubygems de fonte no Ubuntu (de preferência Ubuntu 9)?
Pergunta
O site Ruby on Rails recomenda instalar o Ruby de fonte no Linux. Eu encontrei uma série de problemas de biblioteca C construção rubi de fonte em uma instalação limpa do Ubuntu 9.
Todas as instruções que encontrei na net sobre a instalação de rubi no Ubuntu envolveram usando o rubi pré-embalados (baseado em .deb). Claramente este não é o que os trilhos pessoas recomendam.
Quando eu fiz uma fonte compilação limpa de rubi achei Rubygems não conseguiu instalar porque a extensão zlib não funcionou.
Dois problemas ocorrer:
1) A extensão zlib não é construído.
Solução:
i) assegurar zlib é comentada no arquivo de configuração dentro do diretório extn da fonte de rubi, e
ii) garantir esses pacotes zlib ubuntu estão instalados:
aptitude install zlib1g
aptitude install zlib1g-dbg
aptitude install zlib1g-dev
aptitude install zlibc
2) Após a fixação Problema 1 acima (e fazer uma limpeza reconstrução de rubi), zlib ainda não funcionar porque a extensão não for carregado.
Você pode ver que o módulo não carrega executando este e recebendo a saída "false":
puts require 'zlib'
Eu observei isso acontece com qualquer número de outras extensões C no diretório extn, por isso parece ser um problema mais geral com estas extensões do que específica zlib-apenas algo.
Para resumir:
- Meu construção de rubi encontra a extensão C zlib específico-ruby, mas ele não consegue carregar o módulo zlib.
- Este comportamento parece acontecer com outras extensões in / extn.
Existe uma maneira que eu possa descobrir por que um módulo não carrega? algum tipo de traço / verbose modo?
Solução
Não vejo qual é seu problema. Você diz que require 'zlib'
retornos false
. Mas isso significa que ele fez trabalho! Se houve um erro, você teria uma exceção LoadError
.
Outras dicas
Aqui está o que eu fiz para instalar rubi, gemas e trilhos no Ubuntu 11.04
-
Instale rubi de fontes
-
Instale RubyGems a partir de fontes
- Instale zlib:
- sudo apt-get install zlib1g-dev
- cd your-rubi-sources / ext / zlib
- ruby ??extconf.rb
- make
- sudo make install
- Instale readline:
- sudo apt-get install libreadline5-dev
- cd your-rubi-sources / ext / readline
- ruby ??extconf.rb
- make
- sudo make install
- Instale OpenSSL:
- sudo apt-get install libssl-dev
- cd your-rubi-sources / ext / openssl
- ruby ??extconf.rb
- make
- sudo make install
Você instalar libzlib-ruby
? Aqui está a minha inicialização típico Ubuntu antes de instalar Rubygems:
$ apt-get update
$ apt-get dist-upgrade
$ apt-get install build-essential -y
$ apt-get install rsync -y
$ apt-get install ruby ri rdoc irb ri1.8 ruby1.8-dev libzlib-ruby zlib1g libopenssl-ruby -y