Readline não compilado por padrão - Causando 'require': nenhum tal arquivo para carregar - readline

1

Ao tentar instalar o ruby 1.9.2 no Ubuntu 10.04 (64 bits), recebo o seguinte erro após executar as seguintes etapas:

  1. Instalar dependências
  2. ./ configure para criar o arquivo make
  3. Tornar
  4. Fazer instalação
  5. Make Clean
  6. ruby -ropenssl -rzlib -rreadline -e "puts: Hello" (Isso deve mostrar 'olá' se tudo estiver bem).

Em vez de dar um olá, obtenho isto:

requer: nenhum arquivo para carregar - readline '

Depois de pesquisar on-line, encontro esta solução: Blockquote

  

Se você compilou Ruby do código-fonte, poderá receber esse erro ao executar o script / console:

     

/usr/local/lib/ruby/1.8/irb/completion.rb:10:in 'require': nenhum arquivo para carregar - readline (LoadError)   Uma maneira de corrigir isso é compilar readline, que é distribuído junto com a fonte Ruby:

     

cd /opt/src/ruby-1.8.5-p2/ext/readline

     

ruby extconf.rb

     

faça

     

sudo make install

Isso funcionou totalmente para mim. Minha pergunta é: por que Ruby não compilou isso para começar? Esqueci de algum tipo de opção de configuração?

    
por Levi Hackwith 11.09.2010 / 23:57

2 respostas

3

O motivo pelo qual o Ruby não incluiu automaticamente o suporte a readline foi provavelmente porque você não tinha libreadline e seus arquivos de desenvolvimento, instalados em seu sistema. Quando você executa ./ configure ele faz um inventário do seu sistema e usa esses dados para criar um Makefile "ótimo" .

A maneira mais fácil de obter o libreadline e seus arquivos de desenvolvimento é instalar o pacote libreadline-dev .

    
por andol 12.09.2010 / 09:16
0

Muitas (na verdade, a maioria) bibliotecas e linguagens de programação não compilam readline por padrão (PHP é outro exemplo). Você precisa configurar isso manualmente no script de configuração ou usando este método. Apenas certifique-se de usar a mesma opção sempre que você compilar Ruby.

    
por Bilal Akhtar 12.09.2010 / 09:00