ruby on rails - sqlite3_native - ¿Por qué no puedo instalar la gema SQLite?
sqlite sqlite (13)
¿Tiene todo el código fuente requerido para construir sqlite3-ruby? Gem está intentando compilar un código C y no puede encontrar los encabezados. Probablemente pueda usar un rpm de fedora para sqlite3-ruby (no uso fedora, pero estoy seguro de que existe) si prefiere renunciar a la compilación. Personalmente para ruby, prefiero usar gemas en lugar de un sistema de empaque de distribución.
Intento instalar la gema SQLite en una caja de Linux de Fedora 9 con Ruby 1.8.6, Rails 2.2.2, gem 1.3 y sqlite-3.5.9. Aquí está el comando que estoy ejecutando y sus 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
simplemente repite lo que ya se envió a la consola. ¿Cómo puedo instalar esta joya?
Cuando tuve ese 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 mí funcionó, instalando el " libsqlite3-dev " con:
apt-get install libsqlite3-dev
Ejecute "sudo yum install sqlite-devel" y luego "gem install sqlite3". Tenía el mismo problema en mi Fedora 15.
Ejecute lo siguiente para el sistema operativo Fedora:
yum install rubygem-sqlite3
El SQLite RubyGem no es realmente una Ruby Gem, es una " C Gem", IOW está escrita en C. Esto significa que tiene que compilarse y vincularse con el intérprete Ruby cuando lo instale y para poder hacerlo necesita el Archivos de cabecera C para el intérprete de Ruby.
Si compila Ruby usted mismo, esos archivos de encabezado se instalarán automáticamente, sin embargo, en los sistemas RedHat-ish, tales archivos de encabezado generalmente se empaquetan en un paquete separado, llamado <whatever>-dev
. Entonces, en este caso, necesitará instalar el paquete ruby-dev
y posiblemente el paquete libsqlite3-dev
(Ubuntu) o sqlite-devel
(Fedora) también.
Sin embargo, es mejor que simplemente instale el paquete libsqlite3-ruby
preempaquetado de su sistema operativo, de esa forma todas las dependencias se satisfacen automáticamente.
(Nota: todos los nombres de paquetes extraídos de la nada, podrían ser diferentes en su sistema).
En Ubuntu 9 y 10 prueba:
sudo apt-get install ruby-dev
sudo apt-get install sqlite3-dev
Entonces corre
gem install sqlite3
En alpine, debe instalar el paquete sqlite-dev
.
Me enfrenté al problema de la instalación de la gema sqlite3-ruby en mi caja fedora 13. Fue arreglado después de sudo yum install sqlite-devel
No estoy muy familiarizado con Fedora, pero en Ubuntu cuando instalas paquetes tienes apt-get, y tienes que instalar los elementos esenciales de compilación que incluyen gcc y otras herramientas de compilación para C. Yo diría que ese podría ser tu problema , y se analiza cómo se puede instalar usando RPM o apt-get en Fedora.
Probablemente necesites el paquete ruby dev. Para Ubuntu, debe instalar ruby1.8-dev, que incluye los archivos de encabezado ruby. Un google rápido dice que el paquete yum es ruby-devel. así que ejecuta esto:
sudo yum install ruby-devel
Solucioné el problema en mi OLPC (Fedora 9) instalando ''gcc'' por extraño que parezca. Parece que debería haber sido uno de esos paquetes de desarrollo, pero no.
Además, con respecto a los otros paquetes, el sufijo es "-devel", no "-dev", así que asegúrese de obtener los que terminan a la derecha: "ruby-devel", "sqlite-devel" ...
Una vez que lo instales, si obtienes errores acerca de que tus gemas están demasiado viejas "<1.3.1" cuando tratas de ejecutar varios scripts, por ejemplo: script / server o script / console, google "upgrade_rubygems" para solucionar ese problema. ..
HTH ...
Tuve el mismo problema exacto ... en vez de gemir las piezas que faltaban usé sináptica en unbuntu.
El paquete clave para mí fue libsqlite-ruby1.9.1 ... documenté mi experiencia (para referencia) con este error en: Sqlite3-gem-error-during-bundle-install
sudo apt-get install ruby-dev
Me lo arregló