sqlite3-ruby installa errore su Ubuntu

Ho il seguente errore durante l’installazione di sqlite3ruby:

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

 /usr/bin/ruby1.8 extconf.rb
 controllo per sqlite3.h ... no
 sqlite3.h è mancante.  Prova 'port install sqlite3 + universal' o 'yum install sqlite3-devel'
 *** extconf.rb fallito ***
 Imansible creare Makefile per qualche motivo, probabilmente per 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 Gem rimarranno installati in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1 per l'ispezione.
 Risultati registrati in /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

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

 apt-get install libsqlite3-dev 

Hai solo bisogno di un -- in là.

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

Questo specifica che l’opzione non è direttamente gem, ma la gem specifica.

Nel mio caso non ho installato compilatori di base, quindi

 sudo apt-get install build-essential 

risolto il mio problema, ma per la maggior parte delle persone penso che https://stackoverflow.com/a/3649005/417267 sia la soluzione.

Se corri in Ubuntu e usi RVM per ruby ​​su rails, per favore aggiungi FIRST:

 sudo apt-get install libxslt-dev libxml2-dev 

O puoi controllare con questi comandi:

Questo comando preparerà per voi 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.

Questo è quello che ho fatto:

 wget http://www.sqlite.org/sqlite-amalgamation-3.7.2.tar.gz tar xzf sqlite-amalgamation-3.7.2.tar.gz cd sqlite-3.7.2/ ./configure make make install gem install rails sqlite3-ruby 

da: http://cuasan.wordpress.com/2010/10/13/rails-3-on-debian-with-sqlite-3/

Questo era semplicemente sufficiente per farlo funzionare

 sudo apt-get install libsqlite3-dev 

Grazie a marshluca

Ho provato TUTTE le altre soluzioni, nessuna ha aiutato.

Si è scoperto che è necessario anche un pacchetto di sviluppo per ruby stesso. Per me, ha aiutato

 sudo apt-get install ruby-full 

Ha un sacco di brutte dipendenze però (come emacs, wtf?), Solo

 sudo apt-get install ruby1.8-dev 

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

 sudo gem install sqlite3-ruby 

funziona come un fascino.

Ecco una risposta migliore da HEROKU: imansible eseguire git push heroku master

Dal momento che non puoi usare sqlite3 su heroku, aggiungi questo al tuo Gemfile:

 group :production do gem 'pg' end group :development, :test do gem 'sqlite3' end 

Ho avuto questo stesso problema e il seguente ha funzionato per me:

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

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

tar -xf sul file o fai qualunque cosa tu faccia normalmente per decomprimere; inserisci la directory

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

compilare, installare e quando si installa la gem …

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

Da sqlite3-ruby gem non è ansible trovare sqlite3.h su ubuntu :

Devi anche installare gcc stesso, quindi in totale sarebbe:

 sudo apt-get install gcc libsqlite3-dev ruby1.8-dev sudo gem install sqlite3 

A quanto pare si ottiene un errore errato che punta a uno sqlite3.h mancante quando il vero problema manca a gcc stesso.

La soluzione è aggiungere -- per separare i parametri di configure dai parametri gem .

invece di

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

prova questo, tutto su una riga, assicurati di includere -- dopo l’ultimo parametro gem e prima dei parametri di configure :

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

Questo dovrebbe farti passare questo errore:

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

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

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

Per me il problema è stato risolto ottenendo mkmf, che è in ruby ​​1.8-dev.

 sudo apt-get install ruby1.8-dev 

Grazie a mentalizzato per quello.

Sono d’accordo con Danya Vershinin & EnotionZ .

Se non è ansible utilizzare apt-get:

  1. compila e installa sqlite3 dai sorgenti specificando il tuo percorso “prefisso”. Ulteriori informazioni possono essere trovate nel README.
  2. Poi ha passato questo percorso al programma di installazione sqlite3-ruby (non dimenticare il “-“).

Hai una versione difettosa di RVM. Ubuntu fa qualcosa per RVM che produce molti errori, l’unico modo sicuro di risolvere per ora è: sudo apt-get -purge rimuovi ruby-rvm sudo rm -rf / usr / share / ruby ​​…, se non aiuta quindi riavvia il tuo computer. installa RVM: \ curl -L https://get.rvm.io | bash -s stable –ruby –autolibs = enable –auto-dotfiles Se trovi che ti serve un po ‘di mano, dai un’occhiata a Installare Ruby su Ubuntu 12.04, che ti dà un po’ più di spiegazioni

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.

Nessuna delle soluzioni sopra menzionate ha funzionato per me, anche dopo aver installato ruby2.5-dev e libsqlite3-dev . Quindi sqlite provato a usare PostgreSql invece di sqlite . Questo ha funzionato bene. Per utilizzare PostgreSql anziché sqlite, utilizzare questo comando durante la creazione del progetto rails .

 rails [_VERSION_] new project_name -d postgresql 

Se vuoi usare MySql allora usa mysql invece di postgresql .

 rails [_VERSION_] new project_name -d mysql 

Altrimenti puoi provare senza sqlite .

 bundle install --without sqlite