Pregunta

Intento instalar la gema SQLite en una caja Linux 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 fue enviado a la consola.¿Cómo puedo instalar esta joya?

¿Fue útil?

Solución

SQLite RubyGem no es en realidad un RubíGema, es un "CGem", OIA está escrito en C.Esto significa que debe compilarse y vincularse al intérprete de Ruby cuando lo instale y para poder realizar eso necesita los archivos de encabezado C para el intérprete Ruby.

Si compila Ruby usted mismo, esos archivos de encabezado se instalarán automáticamente; sin embargo, en los sistemas RedHat-ish, dichos archivos de encabezado generalmente se empaquetan en un paquete separado, llamado <whatever>-dev.Entonces, en este caso necesitarás instalar el ruby-dev paquete y posiblemente el libsqlite3-dev (Ubuntu) o sqlite-devel Paquete (Fedora) también.

Sin embargo, quizás sea mejor que simplemente instales el paquete preempaquetado de tu sistema operativo. libsqlite3-ruby paquete, de esa manera todas las dependencias se satisfacen automáticamente.

(Nota:Todos los nombres de paquetes extraídos de la nada pueden ser diferentes en su sistema).

Otros consejos

Probablemente necesites el paquete de desarrollo ruby. Para Ubuntu, debe instalar ruby1.8-dev, que incluye los archivos de encabezado ruby. Un rápido google dice que el paquete yum es ruby-devel. así que ejecuta esto:

  

sudo yum install ruby-devel

Enfrenté un problema al instalar la gema sqlite3-ruby en mi caja fedora 13. Se solucionó después de sudo yum install sqlite-devel

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
sudo apt-get install ruby-dev

Me lo arregló.

En Ubuntu 9 y 10 intente:

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

Luego ejecuta

gem install sqlite3

Ejecute lo siguiente para el sistema operativo Fedora:

yum install rubygem-sqlite3

¿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 cosas de rubí, prefiero usar gema en lugar de un sistema de empaque de distribución.

No estoy muy familiarizado con Fedora, pero en Ubuntu cuando instalas paquetes tienes apt-get y tienes que instalar build-essentials que incluye gcc y otras herramientas de compilación para C.Yo diría que ese podría ser su problema, y ​​usted debe investigar cómo se puede instalar usando RPM o apt-get en Fedora.

Solucioné el problema en mi OLPC (Fedora 9) instalando 'gcc' de manera bastante extraña. 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 correctamente: < !> quot; ruby-devel " ;, " sqlite-devel " ...

Una vez que lo haya instalado, si obtiene errores acerca de que sus gemas son demasiado viejas " < 1.3.1 & Quot; cuando intenta ejecutar varios scripts de rails, por ejemplo: script / server o script / console, google " upgrade_rubygems " para solucionar ese problema ...

HTH ...

Ejecute " sudo yum install sqlite-devel " y luego " gem install sqlite3 " ;. Tuve el mismo problema en mi Fedora 15.

Tuve el mismo problema exacto ... en lugar de gemear las piezas faltantes, usé synaptic en unbuntu.

El paquete de claves para mí fue libsqlite-ruby1.9.1 ... Documenté mi experiencia (para referencia) con este error en: Sqlite3-gem-error-during-bundle- instalar

En Alpine, debe instalar el paquete sqlite-dev.

Encontré este error al ejecutar bundle install después de generar una aplicación react-rails en Fedora 29. Pude identificar un paquete de desarrollo adecuado ejecutando dnf search sqlite3, luego lo instalé dnf install libsqlite3x-devel. Esto me lo arregló.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top