Pergunta

Eu sou tentar instalar a gem SQLite em uma caixa Fedora 9 Linux com Ruby 1.8.6, Rails 2.2.2, gem 1.3, e sqlite-3.5.9. Aqui está o comando Estou correndo e seus resultados:

sudo gem install sqlite3-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
    ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb install sqlite3-ruby
can't find header files for ruby.

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_api/gem_make.out

gem_make.out apenas repete o que já foi enviado para o console. Como posso instalar esta jóia?

Foi útil?

Solução

O SQLite RubyGem não é realmente um Rubi Gem, é um " C Gem", IOW é escrito em C. Isto significa que tem de ser compilado e ligado para o interpretador ruby ??quando você instalá-lo e, a fim de fazer que que precisa os arquivos de cabeçalho C para o intérprete ruby.

Se você compilar o Ruby mesmo, esses arquivos de cabeçalho será instalado automaticamente, no entanto, em sistemas RedHat-ish, tais arquivos de cabeçalho são geralmente embalados em um pacote independente, chamado <whatever>-dev. Então, neste caso, você precisará instalar o pacote ruby-dev e possivelmente o libsqlite3-dev (Ubuntu) ou pacote sqlite-devel (Fedora) também.

No entanto, você pode ser melhor fora apenas instalar o pacote libsqlite3-ruby pré-embalados do sistema operacional, de que maneira todas as dependências são automaticamente satisfeito.

. (Nota: todos os nomes de pacotes tirou do ar, pode ser diferente em seu sistema)

Outras dicas

Você provavelmente precisará do pacote dev ruby. Para o Ubuntu você tem que instalar ruby1.8-dev que inclui os arquivos de cabeçalho rubi. Um Google rápido diz que o pacote yum é ruby-devel. então executar este:

sudo yum install ruby-devel

Eu enfrentei problema ao instalar gem sqlite3-ruby no meu fedora 13 caixa. Foi fixado após sudo yum install sqlite-devel

Quando eu tive esse problema:

gem install sqlite3 -v '1.3.9'
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3:
    ERROR: Failed to build gem native extension.

Para mim funcionou, instalando o " libsqlite3-dev " com:

apt-get install libsqlite3-dev
sudo apt-get install ruby-dev

Fixed-lo para mim.

No Ubuntu 9 e 10 de tentativa:

sudo apt-get install ruby-dev
sudo apt-get install sqlite3-dev

Em seguida, execute

gem install sqlite3

Execute o seguinte para o Fedora OS:

yum install rubygem-sqlite3

Você tem todo o código fonte necessário para construir sqlite3-ruby? Gem está tentando compilar algum código C e não pode encontrar os cabeçalhos. Provavelmente, você pode usar um rpm fedora para sqlite3-ruby (Eu não uso fedora, mas estou existe certeza um) se você prefere renunciar a compilação. Pessoalmente para coisas rubi, eu prefiro usar gem em vez de sistema de embalagem de uma distro.

Eu não sou muito familiarizado com o Fedora, mas no Ubuntu quando você está instalando pacotes que você apt-get, e você tem que instalar o build-essenciais que inclui gcc e outras ferramentas de compilação para C. Eu diria que poderia ser o seu problema, e você faz olhar sobre como isso pode ser instalar ou usando RPM ou apt-get no Fedora.

Eu corrigiu o problema no meu OLPC (Fedora 9) instalando 'gcc' curiosamente. Parece que ele deveria ter sido um daqueles pacotes de dev, mas não.

Além disso, em relação aos outros pacotes, o sufixo é "-devel", não "-dev", para ter certeza de obter aqueles que terminam a direita: "ruby-devel", "sqlite-devel" ...

Depois de conseguir que instalado, se você obter erros sobre suas gemas ser demasiado velho "<1.3.1" quando você tentar executar vários scripts trilhos, por exemplo: script / servidor ou script / console, Google "upgrade_rubygems" para corrigir esse problema ...

HTH ...

Executar "sudo yum install sqlite-devel" e depois "gem install sqlite3". Tive o mesmo problema no meu Fedora 15.

Eu tive esse mesmo problema exato ... em vez de gem'ing as peças que faltam eu usei sináptica em Unbuntu.

O pacote de chaves para mim foi libsqlite-ruby1.9.1 ... eu documentei minha experiência (para referência) com este erro em: Sqlite3-gem-erro durante a-bundle- instalar

Em alpino, você precisa instalar o pacote sqlite-dev.

Eu encontrei este erro durante a execução bundle install depois de gerar um reagem-rails app no ??Fedora 29. Eu era capaz de identificar um pacote de desenvolvimento adequado, executando dnf search sqlite3, em seguida, instalou-lo dnf install libsqlite3x-devel. Este fixa-lo para mim.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top