errore di installazione sqlite3-ruby su Ubuntu


257

Ho il seguente errore durante l'installazione di sqlite3-ruby:

Creazione di estensioni native. Questo potrebbe richiedere del tempo ...
ERRORE: errore durante l'installazione di sqlite3-ruby:
    ERRORE: impossibile creare l'estensione nativa della gemma.

/usr/bin/ruby1.8 extconf.rb
verifica sqlite3.h ... no
manca sqlite3.h. Prova 'port install sqlite3 + universal' o 'yum install sqlite3-devel'
*** extconf.rb non riuscito ***
Impossibile creare Makefile per qualche motivo, probabilmente mancanza
librerie e / o intestazioni necessarie. Controlla il file mkmf.log per ulteriori informazioni
dettagli. Potresti avere bisogno di opzioni di configurazione.

Opzioni di configurazione fornite:
    --with-opt-dir
    --without-opt-dir
    --with-opt-includere
    --without-opt-include = $ {opt-dir} / include
    --with-opt-lib
    --without-opt-lib = $ {opt-dir} / lib
    --with-make-prog
    --without-make-prog
    --srcdir =.
    --curdir
    --ruby = / usr / bin / ruby1.8
    --with-sqlite3-dir
    --without-sqlite3-dir
    --with-sqlite3-includere
    --without-sqlite3-include = $ {sqlite3-dir} / include
    --with-sqlite3-lib
    --without-sqlite3-lib = $ {sqlite3-dir} / lib


I file gemma rimarranno installati in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1 per l'ispezione.
Risultati registrati su /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/gem_make.out

sqlite3.h si trova in / usr / include /

sudo gem installa sqlite3-ruby --without-sqlite3-include = / usr / include

non funziona

ERRORE: Durante l'esecuzione di gem ... (OptionParser :: InvalidOption)
    opzione non valida: --without-sqlite3-include = / usr / include

Ubuntu 10.04


stesso problema - questa non ha una risposta. sqlite3.h è inesistente e tutti i pacchetti sopra sono installati. ubunut 10.10
rrt

Prova a sudo apt-get install build-essential e poi sudo gem install sqlite3-ruby
Dmitry

1
da allora è cambiato solo sqlite3, nonsqlite3-ruby
kelloti il

3
Ha funzionato per me su Ubuntu 12.04 come suggerito Marshluca. sudo apt-get install libsqlite3-dev
panta

Risposte:


585

Sono necessarie le intestazioni di sviluppo di SQLite3 per la compilazione dell'estensione nativa della gemma. Puoi installarli eseguendo (possibilmente con sudo):

apt-get install libsqlite3-dev

26
Avevo bisogno sudo apt-get install libsqlite3-dev. Grazie.
B Sette,

6
Ha funzionato come un fascino. Grazie.
franc.m,

Grazie, questo sicuramente non sarebbe stato ovvio.
james_womack,

15

Hai solo bisogno di un --dentro.

sudo gem install sqlite3-ruby -- --with-sqlite3-include=/usr/include

Ciò specifica che l'opzione non è quella di gemma direttamente, ma la gemma specifica.



6

Se si esegue in Ubuntu e si utilizza RVM per ruby ​​su rotaie, aggiungere PRIMA:

sudo apt-get install libxslt-dev libxml2-dev

OPPURE È possibile verificare con questi comandi:

Questo comando preparerà per te due pacchetti: sqllite3 e libsqlite3-dev

sudo apt-get install sqlite3 libsqlite3-dev

-Ora, installa sqlite gem

 [sudo] gem install sqlite3-ruby

-utilizzare Ubuntu non ha bisogno di sudo.

In bocca al lupo! Nota: sto usando Ubuntu 10.10 e funziona.



6

Questo è stato semplicemente sufficiente per farlo funzionare

sudo apt-get install libsqlite3-dev

Grazie a marshluca


4

Ho provato TUTTE le altre soluzioni, nessuna ha aiutato.

Si è scoperto che è necessario anche il pacchetto dev per ruby ​​stesso. Per me ha aiutato

sudo apt-get install ruby-full

Ha molte brutte dipendenze però (come emacs, wtf?), Giusto

sudo apt-get install ruby1.8-dev

dovrebbe andare bene. Dopo che è installato (e hai installato i pacchetti sqlite e sqlite-dev)

sudo gem install sqlite3-ruby

funziona come un fascino.


1
ha funzionato anche per me. sudo apt-get install ruby1.9.1-dev libsqlite3-dev
rajsite


1

Ho avuto lo stesso problema e per me ha funzionato:

compila sqlite3 come libreria statica, installa da qualche parte nella tua home directory e poi fornisci quell'opzione per il processo di installazione gem.

Vai alla pagina di download e prendi la fonte. La versione più recente in questo momento è http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz

tar -xf sul file o fai tutto ciò che fai normalmente per decomprimere; entra nella directory

./configure --disable-shared --enable-static --prefix = / some / path / in / my / home

compilare, installare e quando si installa la gemma ...

gem install sqlite3-ruby - --with-sqlite3-dir = / some / path / in / my / home



1

La soluzione è aggiungere parametri --distinti configuredai gemparametri.

invece di

sudo gem install sqlite3-ruby --without-sqlite3-include=/usr/include

prova questo, tutto su una riga, assicurati di includere --dopo l'ultimo gemparametro e prima dei configureparametri:

sudo gem install sqlite3 --
--with-sqlite3-lib=/somewhere/local/lib
--with-sqlite3-include=/somewhere/local/include

Questo dovrebbe aggirare questo errore:

ERROR:  While executing gem ... (OptionParser::InvalidOption)
    invalid option: --without-sqlite3-include=/usr/include

Questo era esattamente ciò di cui avevo bisogno, grazie a questo mittente!
David Loy,

0

No --without-sqlite3-include=/usr/include, ma --with-sqlite3-include=/usr/include.


Se sqlite3.h è veramente mancante e non in / usr / include come hai detto, puoi installarlo con: sudo apt-get install libsqlite3-dev
Kurt

L'ho già fatto .. Non aiuta. Ho installato sqlite3 e libsqlite3-dev.
Dmitry,

0

Questo è esattamente lo stesso problema che ho avuto qualche settimana fa. Ho scoperto che dovevo scaricare le intestazioni / librerie più recenti dalla pagina di download di SQLite. Provalo, spero che questo ti aiuti!


0

Per me il problema è stato risolto ottenendo mkmf, che è in ruby1.8-dev.

sudo apt-get install ruby1.8-dev

Grazie a mentalizzato per quello.


0

Sono d'accordo con Danya Vershinin & EnotionZ .

Se non è possibile utilizzare apt-get:

  1. compilare e installare sqlite3 dai sorgenti specificando il proprio percorso "prefisso". Ulteriori informazioni sono disponibili nel file README.
  2. Quindi ha passato questo percorso al programma di installazione sqlite3-ruby (non dimenticare il "-").

0

Hai una versione non funzionante di RVM. Ubuntu fa qualcosa a RVM che produce molti errori, per ora l'unico modo sicuro di risolvere è: sudo apt-get --purge remove ruby-rvm sudo rm -rf / usr / share / ruby ​​..., se non aiuta quindi riavviare il computer. installa RVM: \ curl -L https://get.rvm.io | bash -s stable --ruby --autolibs = enable --auto-dotfiles Se trovi che hai bisogno di un po 'di mano, dai un'occhiata all'installazione di Ruby su Ubuntu 12.04, che fornisce un po' più di spiegazione


0

Dimentica tutto e fai questo,

correre

yum install ruby-devel sqlite sqlite-devel ruby-rdoc
yum install make gcc
gem install sqlite3-ruby
bundle install

Questo è per rhel, esegui lo stesso per Ubuntu.


0

Nessuna delle soluzioni sopra menzionate ha funzionato per me, anche dopo l'installazione ruby2.5-deve libsqlite3-dev. Quindi ho provato a utilizzare PostgreSqlinvece di sqlite. Funzionava bene. Per utilizzare al PostgreSqlposto di sqlite utilizzare questo comando durante la creazione del railsprogetto.

rails [_VERSION_] new project_name -d postgresql

Se si desidera utilizzare, MySqlutilizzare mysqlinvece di postgresql.

rails [_VERSION_] new project_name -d mysql

Altrimenti puoi provare senza sqlite.

bundle install --without sqlite

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.