ruby on rails - sqlite3_native - error de adaptador de rieles sqlite
sqlite ios download (6)
Sigo las instrucciones del tutorial de rieles y me atoré al intentar usar el comando de andamio.
Cuando se ejecuta:
rails generate scaffold User name:string email:string
Me sale el error:
C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:71:in `rescue in establish_connection'': Please install the sqlite3 adapter: `gem install activerecord-sqlite3-adapter` (can''t activate sqlite3 (~> 1.3.4), already activated sqlite3-1.3.3-x86-mingw32. Make sure all dependencies are added to Gemfile.) (RuntimeError)
Corriendo:
gem install activerecord-sqlite3-adapter
Me salió el error
ERROR: Could not find a valid gem ''activerecord-sqlite3-adapter'' (>= 0) in any repository
ERROR: Possible alternatives: activerecord-jdbcsqlite3-adapter, activerecord-sqlserver-adapter, activerecord-nulldb-adapter, activerecord-spatialite-adapter, activerecord-simpledb-adapter
Mi Gemfile se ve así:
source ''http://rubygems.org''
gem ''rails'', ''3.1.0''
gem ''sqlite3'', ''1.3.3''
...
Estoy corriendo en Windows 7 x64 OS.
¿Algunas ideas?
En lugar de
gem install activerecord-sqlite3-adapter
correr
gem install sqlite3
La parte importante de su mensaje de error es este fragmento de código:
can''t activate sqlite3 (~> 1.3.4), already activated sqlite3-1.3.3-x86-mingw32. Make sure all dependencies are added to Gemfile.
Para solucionarlo, siempre debe ejecutar sus comandos a través de bundle exec
como así
bundle exec rails generate scaffold User name:string email:string
De esa manera, le da a Bundler que tome el control total de su $LOAD_PATH
que probablemente resolverá estos problemas.
Ok he encontrado el problema. Noté que mi instalación de Rails tiene tanto SQLite 1.3.3 como 1.3.4 cambié mi Gemfile de:
gem ''sqlite3'', ''1.3.3''
a:
gem ''sqlite3'', ''1.3.4''
Eso solucionó el problema. Gracias, @holger-just por señalarme la línea correspondiente en el mensaje de error en su respuesta .
También en Rails Tutorial, corrió:
$ rake db:migrate
Obtuvo el siguiente error:
Instale el adaptador sqlite3: gem install activerecord-sqlite3-adapter (sqlite3 no forma parte del paquete. Agréguelo a Gemfile).
Corrió:
$ gem install activerecord-sqlite3-adapter
Tiene:
ERROR: No se pudo encontrar una gema válida ''activerecord-sqlite3-adapter'' (> = 0) en ningún repositorio
Se modificó Gemfile de acuerdo con una de las respuestas anteriores:
gema ''sqlite3'', ''1.3.4''
Tengo otro error por lo que tuve que instalar:
$ gem install sqlite3 -v ''1.3.4''
Intenté ejecutar $ rake db: migrate nuevamente, pero obtuve otro error, esta vez se parece a la respuesta anterior:
Instale el adaptador sqlite3:
gem install activerecord-sqlite3-adapter
(no se puede activar sqlite3 (~> 1.3.5), sqlite3-1.3.4 ya activado. Asegúrese de que todas las dependencias se agreguen a Gemfile).
Así que cambié Gemfile a:
gema ''sqlite3'', ''1.3.5''
Y recibí otro mensaje de error para asegurarnos de que ''gem install sqlite3 -v'' 1.3.5 ''tenga éxito (wtf ?! bien otra vez). Lo instalé con éxito, ejecuté bundle install.
Intenté correr:
$ rake db:migrate
No pasó nada, así que lo intentó:
$ bundle exec rails generate scaffold User name:string email:string
Por otra sugerencia de arriba. Y finalmente funcionó. El tutorial advirtió sobre un proceso de configuración laborioso, pero sentí que tenía que mezclar y combinar de al menos otras 5 personas. Espero que esto ayude a la siguiente persona.
Tuve este error también, comprar mi problema fue un poco diferente. el problema es que sqlite3-ruby está en desuso, para ser reemplazado por sqlite3. en el webcast de michael hartl, todavía usaba el viejo sqlite3-ruby.
Edité mi gemfile para usar sqlite 1.3.4 en lugar de sqlite3-ruby 1.3.1. volver a ejecutar la instalación del paquete, y listo, problema resuelto!
comando de instalación sugerido:
gem install activerecord-jdbc-sqlite3-adapter
comando de instalación real:
gem install activerecord-jdbcsqlite3-adapter
Referencia: http://kenai.com/jira/browse/ACTIVERECORD_JDBC-19