Cuando intento configurar la instalación básica y el inicio del servidor usando Rails 4.0.0 en Ruby 2.0.0, me encuentro con el siguiente mensaje de error.
/usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `require': cannot load such file -- sqlite3/sqlite3_native (LoadError)
from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:6:in `rescue in <top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/sqlite3-1.3.7/lib/sqlite3.rb:2:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require'
from /usr/local/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler.rb:132:in `require'
from /home/penchal/new/site/config/application.rb:7:in `<top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:76:in `require'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:76:in `block in <top (required)>'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `tap'
from /usr/local/lib/ruby/gems/2.0.0/gems/railties-4.0.0/lib/rails/commands.rb:73:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
¿Cómo puedo evitar este mensaje de error y continuar?
ruby-on-rails
sqlite
Penchala Reddy Audireddy
fuente
fuente
Respuestas:
Busque su archivo gemspec sqlite3. Un ejemplo es
/usr/local/share/gem/specifications/sqlite3-1.3.7.gemspec
Ventanas:
C:\Ruby21\lib\ruby\gems\2.1.0\specifications
.Debe ajustar de acuerdo con su ruta de Rubygem y versión sqlite3. Edite el archivo de arriba y busque la siguiente línea
cámbialo a
fuente
ver :https://stackoverflow.com/a/39136421/6755206
afortunadamente, no tiene que cambiar a ruby 2.0,
hay una solución a este problema, después de un sinfín de intentos ...
https://github.com/hwding/sqlite3-ruby-win
Pasos
Pre
gem uninstall sqlite3 --all
Fuente
Construir
gem install bundler
bundle install
rake native gem
Instalar en pc
gem install --local sqlite3-xxx.gem
('xxx' es el código de versión)Cheque
irb
require 'sqlite3'
fuente
pkg
.you'll find a dir named 'pkg' generated
ya que no vi ese directorio en ninguna parte. La solución de @Edson Momm a continuación funcionó para mí.Dado que la solicitud de extracción n. ° 229 se ha fusionado, sqlite3 se puede instalar por
git:
clave. Es posible usar sqlite3 fácilmente a través de esta adición en suGemfile
:Esto funciona en RubyInstaller-2.4 y versiones posteriores. Instala automáticamente el paquete pacman requerido
mingw-w64-x86_64-sqlite3
cuando ejecutabundler install
.Hay algunas sugerencias más para Rails en Windows en las Preguntas frecuentes de RubyInstaller2 .
fuente
gem uninstall sqlite3 --all ridk exec pacman -S mingw-w64-x86_64-sqlite3 gem inst sqlite3 --platform ruby
Esto me solucionó el problema.
fuente
bundle install
para instalar una nueva gema, me encontraría con este problema nuevamente y tendría que repetir los pasos anteriores.Simplemente edite Gemfile y agregue
gem 'sqlite3', platform: :ruby
.fuente
Ninguna compilación de las fuentes o la descarga de bibliotecas precompiladas resolverá este problema, créanme que lo intenté todo, el problema está en otro lado. Así es como funciona en Windows:
bundle update sqlite3
Es probable que obtenga otro error similar después de este con respecto a nokogiri, corríjalo con el comando:
bundle update nokogiri
¡Disfruta tu aplicación Ruby!
fuente
Desinstalar y reinstalar la gema sqlite3 funcionó para mí.
gem uninstall sqlite3 bundle
fuente
Esto funcionó para mí:
fuente
MEJOR INSTALACIÓN OFICIAL
Estoy usando rieles 5.2.1p57, Windows 10 Solo ejecutar las siguientes líneas resolvió el problema
gem uninstall sqlite3
y desinstale todas las versiones instaladas. ejecutar de nuevo el siguiente comando
gem install sqlite3 --platform=ruby
Ya ha terminado. Avísame si el problema persiste.
fuente
Si la respuesta principal no funciona, una solución que descubrí es simplemente ir a su Gemfile y agregar el número de versión 1.3.11 (en lugar de 1.3.9) justo después de sqlite3. Entonces, la línea en su Gemfile ahora debería leer:
# Use sqlite3 as the database for Active Record gem 'sqlite3', '1.3.11'
fuente
Tuve el mismo error cuando actualicé mi versión de Ruby a 2.5.X. Seguí con
rails task --trace
que el sqlite3 no está disponible para la versión 2.5, que cambio mi GemFile, el cambio de gema "sqlite3" a "sqlite3-ruby", después de desinstalar la gema "sqlite3" y finalmente ejecuto elbundle install
.No sé cuál es la razón ... Leí que "sqlite3" aún no está disponible para ruby 2.5, pero no estoy seguro.
fuente
Para evitar este error, asegúrese de que
gem sqlite3
se agregue a su Gemfile. Luego extraiga "exe" sy "dll" del enlace de descarga de Sqlite a la carpeta bin de Ruby. Si el problema persiste. Prueba esto:bundle update
gem uninstall sqlite3
Dada la posibilidad de elegir entre varias versiones de sqlite3, elija la última opción 'Todas las versiones'. Ingrese el último número aquí
gem install sqlite3 --platform=ruby
rails s
Esto debería funcionar.
Lea este enlace para obtener más explicaciones si lo anterior funciona para usted.
fuente
Esto también me pasó a mí. Resultó que originalmente había instalado SQLite 1.3.10, pero luego copié algunas gemas del proyecto de screencasts del tutorial de Rails y enumeró SQLite 1.3.9. Luego obtuve el mismo error que tuviste. Lo cambié de nuevo a 1.3.10 y funcionó.
(Esto es en Windows 7. Estaba ejecutando el tutorial de screencast en Cloud9 IDE).
fuente
Esta es la única solución que funcionó para mí, derivada de esta publicación de problemas de GitHub :
./configure --disable-shared
.make install DESTDIR=/c/dev/ruby/tmp
. Puede cambiar el directorio.gem uninstall sqlite3 --all
para eliminar todas las gemas sqlite3 existentes.gem install sqlite3 --platform=ruby -- --with-sqlite3-include=C:\dev\ruby\tmp\usr\local\include --with-sqlite3-lib=C:\dev\ruby\tmp\usr\local\lib
. Esos directorios include y lib pueden ser diferentes, así que verifique primero.Estoy usando Ruby versión 2.5.1 y Rails versión 5.2.0 en Windows 10.
fuente
¡Lo encontré! Vi esto https://www.youtube.com/watch?v=lsrzvX0qzmA
instalé: Versión de Rails: 5.2.1 Versión de Ruby: 2.5.3 (x64-mingw32) Versión de Sqlite 1.3.13
y tengo tu problema .. . mi solución:
tiene carpetas: "sqlite3-1.3.13" "sqlite3-1.3.13-x64-mingw32"
C: \ Ruby25-x64 \ lib \ ruby \ gems \ 2.5.0 \ gems \ sqlite3-1.3.13 \ lib \ sqlite3 \ sqlite3_native.so
fuente
Actualizado
Añadiendo lo siguiente al Gemfile arreglado para mí: gem 'sqlite3', '1.4.0', plataformas:: ruby
fuente
Cambie su gema sqlite3 en el Gemfile por esto:
Entonces corre:
bundle install
fuente
Para los usuarios de OSX, esto puede resultar del uso de un administrador ruby (por ejemplo, rvm).
Si edita su ~ / .bash_profile y agrega esto:
[[ "$APP" = *"/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/"* ]] && { echo Xcode detected rvm use system }
Puede solucionar el problema. Reinicie Xcode antes de intentar compilar nuevamente.
El problema real se rastrea aquí: https://openradar.appspot.com/28726736 ).
El crédito completo va a: https://egeek.me/2018/04/14/ipa-export-error-in-xcode-and-ruby/
fuente