ruby - instalar - sqlite sqlite
Error de instalación de sqlite3-ruby en Ubuntu (18)
Tengo el siguiente error durante la instalación de sqlite3-ruby:
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
Aquí hay una mejor respuesta de HEROKU: no se puede ejecutar git push heroku master
Ya que no puede usar sqlite3 en heroku, agregue esto a su Gemfile:
group :production do
gem ''pg''
end
group :development, :test do
gem ''sqlite3''
end
De sqlite3-ruby gem no se puede encontrar sqlite3.h en ubuntu :
También es necesario instalar gcc, por lo que en total sería:
sudo apt-get install gcc libsqlite3-dev ruby1.8-dev
sudo gem install sqlite3
Aparentemente, aparece un error erróneo que apunta a la falta de sqlite3.h cuando al problema real le falta gcc.
En mi caso no tengo instalados compiladores básicos, así que
sudo apt-get install build-essential
Resolví mi problema, pero para la mayoría de las personas, creo que https://.com/a/3649005/417267 es la solución.
Este es exactamente el mismo problema que tuve hace unas semanas. Descubrí que necesitaba descargar los encabezados / bibliotecas más recientes desde la página de descarga de SQLite. Pruébalo, espero que esto ayude!
Esto es lo que hice:
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
de: http://cuasan.wordpress.com/2010/10/13/rails-3-on-debian-with-sqlite-3/
Esto fue simplemente suficiente para que funcione
sudo apt-get install libsqlite3-dev
Gracias a marshluca
Estoy de acuerdo con Danya Vershinin & EnotionZ .
Si no puede usar apt-get:
- compile e instale sqlite3 desde las fuentes especificando su propia ruta de "prefijo". Más información se puede encontrar en el archivo README.
- Luego pasó esta ruta al instalador sqlite3-ruby (no olvide el "-").
Has roto la versión de RVM. Ubuntu le hace algo a RVM que produce muchos errores, la única forma segura de arreglarlo por ahora es: sudo apt-get --purge remove ruby-rvm sudo rm -rf / usr / share / ruby ..., si no ayuda entonces reinicie su computadora. instale RVM: / curl -L https://get.rvm.io | bash -s stable --ruby --autolibs = habilitar --auto-dotfiles Si encuentra que necesita algo de apoyo, eche un vistazo a Instalando Ruby en Ubuntu 12.04, que le da un poco más de explicación
La solución es agregar --
separar configure
parámetros de configure
parámetros de gem
.
en lugar de
sudo gem install sqlite3-ruby --without-sqlite3-include=/usr/include
intente esto, todo en una línea, asegúrese de incluir --
después del último parámetro de gem
y antes de configure
parámetros:
sudo gem install sqlite3 --
--with-sqlite3-lib=/somewhere/local/lib
--with-sqlite3-include=/somewhere/local/include
Esto debería evitar este error:
ERROR: While executing gem ... (OptionParser::InvalidOption)
invalid option: --without-sqlite3-include=/usr/include
Necesitas los encabezados de desarrollo SQLite3 para la extensión nativa de la gema para compilar. Puedes instalarlos ejecutando (posiblemente con sudo
):
apt-get install libsqlite3-dev
Ninguna de las soluciones mencionadas funcionó para mí, incluso después de instalar ruby2.5-dev
y libsqlite3-dev
. Luego intente usar PostgreSql
lugar de sqlite
. Eso funcionó bien. Para usar PostgreSql
lugar de sqlite use este comando al crear proyectos de rails
.
rails [_VERSION_] new project_name -d postgresql
Si desea usar MySql
, use mysql
lugar de postgresql
.
rails [_VERSION_] new project_name -d mysql
Si no puede probar sin sqlite
.
bundle install --without sqlite
No --without-sqlite3-include=/usr/include
, pero --with-sqlite3-include=/usr/include
.
Olvida todo y haz esto.
correr
yum install ruby-devel sqlite sqlite-devel ruby-rdoc
yum install make gcc
gem install sqlite3-ruby
bundle install
Eso es para rhel, corre igual para ubuntu.
Para mí, el problema se resolvió al obtener mkmf, que está en ruby1.8-dev.
sudo apt-get install ruby1.8-dev
Gracias a mentalized por eso.
Probé TODAS las otras soluciones, ninguna ayudó.
Resultó que también necesitas el paquete dev para ruby. Para mí, me ayudó.
sudo apt-get install ruby-full
Sin embargo, tiene muchas dependencias desagradables (como emacs, wtf?), Solo
sudo apt-get install ruby1.8-dev
debería estar bien. Después de que está instalado (y tienes instalados los paquetes sqlite y sqlite-dev)
sudo gem install sqlite3-ruby
Funciona de maravilla.
Si ejecuta en ubuntu y usa RVM para ruby on rails, agregue PRIMERO:
sudo apt-get install libxslt-dev libxml2-dev
O puedes verificar con estos comandos:
Este comando preparará para usted dos paquetes: sqllite3 y libsqlite3-dev
sudo apt-get install sqlite3 libsqlite3-dev
-Ahora, instala la gema sqlite
[sudo] gem install sqlite3-ruby
-Utilizar Ubuntu no necesita sudo.
¡Buena suerte! Nota: estoy usando Ubuntu 10.10 y está funcionando.
Solo necesitas un --
ahí dentro.
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.
Tenía este mismo problema y lo siguiente me funcionó:
compile sqlite3 como biblioteca estática, instálelo en algún lugar de su directorio de inicio y luego proporcione esa opción para el proceso de instalación de gemas.
Ir a la página de descarga y agarrar 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 hacer lo que normalmente haces para descomprimir; entrar en el directorio
./configure --disable-shared --enable-static --prefix = / some / path / in / my / home
compila, instala y cuando estes instalando la gema ...
gema instala sqlite3-ruby - --with-sqlite3-dir = / some / path / in / my / home