2010-08-11 20 views
244

Tengo el siguiente error durante sqlite3-ruby instalar:sqlite3-ruby error de instalación en Ubuntu

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

/usr/bin/ruby1.8 extconf.rb 
checking for sqlite3.h... no 
sqlite3.h is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite3-devel' 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Provided configuration options: 
    --with-opt-dir 
    --without-opt-dir 
    --with-opt-include 
    --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-include 
    --without-sqlite3-include=${sqlite3-dir}/include 
    --with-sqlite3-lib 
    --without-sqlite3-lib=${sqlite3-dir}/lib 


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

sqlite3.h se encuentra en/usr/include/

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

no funciona

 

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

Ubuntu 10,04

+0

mismo problema - esto no ha sido respondido. sqlite3.h no existe y todos los paquetes anteriores están instalados. ubunut 10.10 – rrt

+0

Tratar de sudo apt-get install build-essential y luego sudo gem install sqlite3-ruby – Dmitry

+1

ya que ha cambiado a simplemente 'sqlite3', no' sqlite3-ruby' – kelloti

Respuesta

564

Necesita compilar los encabezados de desarrollo de SQLite3 para la extensión nativa de la gema. Se pueden instalar mediante la ejecución (posiblemente con sudo):

apt-get install libsqlite3-dev 
+25

Necesitaba 'sudo apt-get install libsqlite3-dev'. Gracias. –

+6

Funcionó como un amuleto. Gracias. –

+0

Gracias, esto definitivamente no habría sido obvio. –

0

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

+0

No funciona ... sqlite3.h todavía falta – Dmitry

+0

Si falta sqlite3.h y no está en/usr/include como dijiste, entonces puedes instalarlo con: sudo apt- get install libsqlite3-dev – Kurt

+0

Ya he hecho esto ... No ayuda. Tengo sqlite3 y libsqlite3-dev instalados. – Dmitry

14

Sólo necesita un -- allí.

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

Eso especifica que la opción no es gema directamente, sino la gema específica.

8

En mi caso he instalado ninguna compiladores básicos, por lo

sudo apt-get install build-essential 

resuelto mi problema, pero para la mayoría de las personas piensan que https://stackoverflow.com/a/3649005/417267 es la solución.

+3

Esto no funciona. :(libsqlite3-dev hace el truco. – fny

+0

Este fue mi problema. Gracias. –

6

Si ejecuta en Ubuntu, y el uso de RVM para Ruby on Rails, por favor agregue PRIMERO:

sudo apt-get install libxslt-dev libxml2-dev 

O se puede comprobar con éstos comandos:

Este comando a prepararse para que dos paquetes: sqllite3 y libsqlite3-dev

sudo apt-get install sqlite3 libsqlite3-dev

-Ahora, instalar la gema sqlite

[sudo] gem install sqlite3-ruby 

-utilizando Ubuntu no necesita sudo.

Goodluck! Nota: estoy usando Ubuntu 10.10 y está funcionando.

+1

'sudo apt-get install sqlite3 libsqlite3-dev' trabajado para mí –

4

Probado TODOS de otras soluciones, ninguna ayuda.

Resultó que también necesita el paquete dev para ruby. Para mí, es ayudado

sudo apt-get install ruby-full 

Tiene un gran número de dependencias desagradables, aunque (como emacs, wtf?), Simplemente

sudo apt-get install ruby1.8-dev 

debe estar bien. Una vez instalado (y usted tiene los paquetes de datos SQLite y sqlite-dev instalados)

sudo gem install sqlite3-ruby 

funciona como un encanto.

+1

funcionó para mí también. sudo apt-get install ruby1.9.1-dev libsqlite3-dev – rajsite

1

tenido este mismo problema y los siguientes trabajó para mí: biblioteca estática

compilación sqlite3, instale en algún lugar de su directorio personal y luego establecen que la opción de la gema proceso de instalación.

Vaya a la página de descargas y obtenga la fuente. La versión más reciente en este momento es http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz

tar -xf en el archivo o haga lo que normalmente hace para descomprimir; entrar en el directorio

./configure --prefix --enable-static --disable-shared =/some/ruta/a/mi/home

compilar, instalar, y cuando se va a instalar la gema. ..

gem install sqlite3-ruby - with-sqlite3-dir =/some/ruta/a/mi/home

0

Este es exactamente el mismo problema que tuve hace unas pocas semanas. Descubrí que necesitaba descargar los encabezados/bibliotecas más recientes desde la página de descargas de SQLite. Pruébelo, espero que esto ayude!

1

De sqlite3-ruby gem can't find sqlite3.h on ubuntu:

También es necesario instalar gcc sí mismo, lo que en total sería:

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

Al parecer, se obtiene un error equivocado señalando una sqlite3.h falta cuando el problema real falta el gcc en sí mismo.

0

Para mí el problema fue resuelto por conseguir MKMF, que está en ruby1.8-dev.

sudo apt-get install ruby1.8-dev 

Gracias a mentalized para eso.

5

Esto era simplemente lo suficiente como para hacer que funcione

sudo apt-get install libsqlite3-dev 

Gracias a marshluca

+0

Esto funcionó para mí. ¡Gracias! –

0

Acepto con Danya Vershinin & EnotionZ.

Si no puede usar apt-get:

  1. compilar & instalación sqlite3 de fuentes especificando su propio camino "prefijo". Más información se puede encontrar en el archivo README.
  2. Luego pasó esta ruta al instalador sqlite3-ruby (no olvide el "-").
1

La solución es añadir -- para separar configure parámetros de gem parámetros.

en lugar de

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

probar esto, todo en una línea, asegúrese de incluir -- después de la última gem parámetro y antes configure parámetros:

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

Esto debería solucionar este error :

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

Esto fue exactamente lo que necesario - ¡muchas gracias a este remitente! –

0

Tiene la versión rusa de RVM. Ubuntu le hace algo a RVM que produce muchos errores, la única manera segura de solucionarlo por ahora es: sudo apt-get --purge eliminar ruby-rvm sudo rm -rf/usr/share/ruby ​​..., si no ayuda luego reinicia tu computadora. instalar RVM: \ curl -L https://get.rvm.io | bash -s stable --ruby --autolibs = enable --auto-dotfiles Si necesita algo de mano, eche un vistazo a Instalar Ruby en Ubuntu 12.04, que le da un poco más de explicación

0

Olvídese de todo y ello,

plazo

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

Eso es para RHEL, ejecute mismo para ubuntu.

Cuestiones relacionadas