x64 the such sqlite3_native sources rails para not instalar descargar could cannot ruby-on-rails sqlite3

the - no se puede cargar dicho archivo-sqlite3/sqlite3_native(LoadError) en ruby on rails



sqlite linux (8)

Encuentra tu archivo sqlite3 gemspec. Un ejemplo es /usr/local/share/gem/specifications/sqlite3-1.3.7.gemspec

Windows: C:/Ruby21/lib/ruby/gems/2.1.0/specifications .

Debe ajustar de acuerdo con su ruta Rubygem y la versión sqlite3. Edite el archivo de arriba y busque la siguiente línea

s.require_paths=["lib"]

cambiarlo a

s.require_paths= ["lib/sqlite3_native"]

Cuando intento configurar la instalación básica y el inicio del servidor con Rails 4.0.0 en Ruby 2.0.0, me aparece 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?


Esta es la única solución que funcionó para mí, derivada de esta publicación de GitHub :

  1. Obtenga la versión autoconf de fuentes sqlite3 desde https://www.sqlite.org/download.html .
  2. Inicie el shell MSYS.
  3. En la ubicación no empaquetada para su sqlite3, configure la versión estática solamente para evitar mantener DLL en PATH: ./configure --disable-shared .
  4. Cree e instálelo: make install DESTDIR=/c/dev/ruby/tmp . Puedes cambiar el directorio.
  5. Abra el símbolo del sistema de Windows y ejecute gem uninstall sqlite3 --all para eliminar todas las gemas sqlite3 existentes.
  6. De nuevo en el símbolo del sistema de Windows, compile e instale sqlite3 gem: 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, primero, verifique.

Estoy usando Ruby versión 2.5.1 y Rails versión 5.2.0 en Windows 10.


Esto me pasó a mí también. Resultó que originalmente había instalado SQLite 1.3.10, pero luego copié algunas gemas del proyecto de screencasts tutoriales de Rails y enlisté SQLite 1.3.9. Luego recibí el mismo error que tú. Lo cambié a 1.3.10 y funcionó.

(Esto está en Windows 7. Estaba ejecutando el tutorial de screencast en Cloud9 IDE).


Existe una solicitud de extracción abierta # 229 para incluir gemspec, de modo que sqlite3 se pueda instalar por git: clave. Hasta que se fusione, es posible usar sqlite3 fácilmente a través de esta adición en su Gemfile :

gem ''sqlite3'', git: "https://github.com/larskanis/sqlite3-ruby", branch: "add-gemspec"

Esto funciona en RubyInstaller-2.4 y más reciente. Instala automáticamente el paquete pacman requerido mingw-w64-x86_64-sqlite3 cuando ejecuta la bundler install .

Hay más sugerencias para Rails en Windows en las Preguntas frecuentes de RubyInstaller2 .


La desinstalación y reinstalación de la gema sqlite3 funcionó para mí.

gem uninstall sqlite3 bundle


No compilar las fuentes o descargar bibliotecas pre compiladas resolverá este problema, créanme, lo intenté todo, el problema está en otra parte. 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!


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 tu Gemfile debería leer:

# Use sqlite3 as the database for Active Record gem ''sqlite3'', ''1.3.11''


ver: https://.com/a/39136421/6755206

afortunadamente, no tienes que cambiar a ruby ​​2.0
hay una solución a este problema, después de intentarlo sin fin ...

https://github.com/hwding/sqlite3-ruby-win

Pasos

Pre

  • gem uninstall sqlite3 --all

Fuente

Construir

  • ejecutar línea de comandos en el directorio extraído
  • asegúrese de tener su compilador de C instalado y agregado a PATH
  • gem install bundler
  • bundle install
  • rake native gem
  • encontrarás un directorio llamado ''pkg'' generado

Instalar

  • enter dir ''pkg''
  • gem install --local sqlite3-xxx.gem (''xxx'' es el código de versión)

Comprobar

  • irb
  • require ''sqlite3''