6

Estoy ejecutando CentOS6 e instalé Ruby desde la fuente, junto con Rails y algún otro equipo.Rails, Ruby 1.9.3p0, y mysql gem

ruby -v 
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] 

rails -v 
Rails 3.1.3 

Algunas gemas:

 
*** LOCAL GEMS *** 

actionmailer (3.1.3, 2.3.14) 
actionpack (3.1.3, 2.3.14) 
activemodel (3.1.3) 
activerecord (3.1.3, 2.3.14) 
activeresource (3.1.3, 2.3.14) 
activesupport (3.1.3, 2.3.14) 
archive-tar-minitar (0.5.2) 
arel (2.2.1) 
bigdecimal (1.1.0) 
bouncy-castle-java (1.5.0146.1) 
builder (3.0.0) 
bundler (1.0.21) 
coderay (0.9.7) 
columnize (0.3.5) 
edavis10-object_daddy (0.4.3) 
erubis (2.7.0) 
fastercsv (1.5.0) 
ffi (1.0.11) 
hike (1.2.1) 
hoe (2.12.4) 
i18n (0.6.0, 0.4.2) 
io-console (0.3) 
jruby-openssl (0.7.4) 
json (1.5.4) 
linecache19 (0.5.13) 
mail (2.3.0) 
metaclass (0.0.1) 
mime-types (1.17.2) 
minitest (2.5.1) 
mocha (0.10.0) 
multi_json (1.0.4) 
mysql (2.8.1) 
mysql2 (0.3.11, 0.2.7) 
net-ldap (0.2.2) 
polyglot (0.3.3) 
rack (1.3.5, 1.1.2) 
rack-cache (1.1) 
rack-mount (0.8.3) 
rack-ssl (1.3.2) 
rack-test (0.6.1) 
rails (3.1.3, 2.3.14) 
railties (3.1.3) 
rake (0.9.2.2) 
rdoc (3.9.4) 
rmagick (2.13.1) 
ruby-debug-base19 (0.11.26, 0.11.25) 
ruby-debug19 (0.11.6) 
ruby-mysql (2.9.4) 
ruby-openid (2.1.4) 
ruby_core_source (0.1.5) 
rubygems-update (1.8.12) 
rubytree (0.5.2) 
shoulda (2.11.3, 2.10.3) 
sprockets (2.0.3) 
sqlite3 (1.3.5, 0.1.1) 
sqlite3-ruby (1.3.3, 1.2.5) 
thor (0.14.6) 
tilt (1.3.3) 
treetop (1.4.10) 
tzinfo (0.3.31) 

que necesito carriles con el fin de ejecutar chiliproject, pero cuando se ejecuta el siguiente comando

RAILS_ENV=production bundle exec rake db:migrate 

que recibo:

 
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. 
rake aborted! 
cannot load such file -- mysql 

Tasks: TOP => db:migrate => environment 
(See full trace by running task with --trace) 

Ahora con --trace:

 
RAILS_ENV=production bundle exec rake db:migrate --trace >> tmp/rake 
** Invoke db:migrate (first_time) 
** Invoke environment (first_time) 
** Execute environment 
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. 
rake aborted! 
cannot load such file -- mysql 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in `require' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in `require' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/requires.rb:7:in `block in require_library_or_gem' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/requires.rb:5:in `require_library_or_gem' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/mysql_adapter.rb:61:in `mysql_connection' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:223:in `new_connection' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:245:in `checkout_new_connection' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:188:in `block (2 levels) in checkout' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `loop' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in `block in checkout' 
/usr/local/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:183:in `checkout' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:98:in `connection' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:326:in `retrieve_connection' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_specification.rb:123:in `retrieve_connection' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_specification.rb:115:in `connection' 
/var/www/html/chiliproject/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb:218:in `quoted_left_column_name' 
/var/www/html/chiliproject/vendor/plugins/awesome_nested_set/lib/awesome_nested_set.rb:94:in `acts_as_nested_set' 
/var/www/html/chiliproject/app/models/issue.rb:33:in `' 
/var/www/html/chiliproject/app/models/issue.rb:15:in `' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in `require' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in `require' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:291:in `require_or_load' 
/var/www/html/chiliproject/vendor/plugins/engines/lib/engines/rails_extensions/dependencies.rb:133:in `require_or_load_with_engine_additions' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:451:in `load_missing_constant' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:106:in `const_missing_with_dependencies' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:118:in `const_missing' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/inflector.rb:375:in `const_get' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/inflector.rb:375:in `block in constantize' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/inflector.rb:374:in `each' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/inflector.rb:374:in `constantize' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/core_ext/string/inflections.rb:162:in `constantize' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:157:in `observed_class' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:183:in `observed_classes' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:166:in `initialize' 
/usr/local/lib/ruby/1.9.1/singleton.rb:141:in `new' 
/usr/local/lib/ruby/1.9.1/singleton.rb:141:in `block in instance' 
:10:in `synchronize' 
/usr/local/lib/ruby/1.9.1/singleton.rb:139:in `instance' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:38:in `block in instantiate_observers' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:36:in `each' 
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:36:in `instantiate_observers' 
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb:15:in `block in define_dispatcher_callbacks' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:182:in `call' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:182:in `evaluate_method' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:166:in `call' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:90:in `block in run' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:90:in `each' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:90:in `run' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/callbacks.rb:276:in `run_callbacks' 
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.14/lib/action_controller/dispatcher.rb:51:in `run_prepare_callbacks' 
/usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.14/lib/initializer.rb:631:in `prepare_dispatcher' 
/usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.14/lib/initializer.rb:185:in `process' 
/usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.14/lib/initializer.rb:113:in `run' 
/var/www/html/chiliproject/config/environment.rb:39:in `' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in `require' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in `block in require' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:547:in `new_constants_in' 
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in `require' 
/usr/local/lib/ruby/gems/1.9.1/gems/rails-2.3.14/lib/tasks/misc.rake:4:in `block in ' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:205:in `call' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:205:in `block in execute' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:200:in `each' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:200:in `execute' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:158:in `block in invoke_with_call_chain' 
/usr/local/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:176:in `block in invoke_prerequisites' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:174:in `each' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:174:in `invoke_prerequisites' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:157:in `block in invoke_with_call_chain' 
/usr/local/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:151:in `invoke_with_call_chain' 
/usr/local/lib/ruby/1.9.1/rake/task.rb:144:in `invoke' 
/usr/local/lib/ruby/1.9.1/rake/application.rb:116:in `invoke_task' 
/usr/local/lib/ruby/1.9.1/rake/application.rb:94:in `block (2 levels) in top_level' 
/usr/local/lib/ruby/1.9.1/rake/application.rb:94:in `each' 
/usr/local/lib/ruby/1.9.1/rake/application.rb:94:in `block in top_level' 
/usr/local/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' 
/usr/local/lib/ruby/1.9.1/rake/application.rb:88:in `top_level' 
/usr/local/lib/ruby/1.9.1/rake/application.rb:66:in `block in run' 
/usr/local/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling' 
/usr/local/lib/ruby/1.9.1/rake/application.rb:63:in `run' 
/usr/local/bin/rake:32:in `' 
Tasks: TOP => db:migrate => environment 

¿Alguien sabe qué pasa con los archivos gemelos de mysql?

También he intentado instalar los archivos de la gema mysql como esto

gem install ruby-mysql2 --no-rdoc --no-ri -- --with-mysql-config=/usr/bin/mysql_config 

Respuesta

8

Estaba teniendo problemas similares y que puede estar haciendo lo que era: yo estaba usando 'lista joya' para determinar lo que estaba instalado (se listas *** LOCAL GEMS *** tal como se muestra) y vi mysql, pero el Gemfile para mi proyecto no requería bundler para instalar mysql.

Si solo escribe bundle show, ¿lista 'mysql'? Si no, entonces el Gemfile en chiliproject no está causando que bundler instale mysql. Encontré todo esto muy confuso hasta que me di cuenta de que estaba confundiendo diferentes formas de administrar qué gemas están instaladas.

Si usted u otras personas que vienen de esta manera están teniendo el mismo problema, quizás esto sea útil. (Y tal vez esta pobre explicación aliente a uno de los gurús de rieles a elaborar para nosotros.)

Para decirlo de otra manera, la lista de gemas instaladas localmente no es la misma que la lista instalada en la aplicación paquete de gemas (de ahí que proviene el nombre de la herramienta bundler). Cuando ejecuta su aplicación y administra sus dependencias con bundler, tiene que hacer todo lo posible dentro del alcance bundler, para asegurarse de que todo funcione de manera conjunta. Cuando lo haces, en realidad es muy sencillo y te resuelve muchos problemas, pero si vienes de experiencias anteriores en aplicaciones que no usaron bundler, simplemente te lleva un poco de tiempo acostumbrarte.

+0

Gracias @normalocity - eso es útil. ¿Estoy en lo correcto al decir que esto permite que * * bundle * para la producción se desincronice con * bundle * para el desarrollo? (De ser así, eso me ayudará a aislar otro problema.) – sage

+0

En la práctica, no debería haber una diferencia entre el paquete * desarrollo * y * producción *. ¿Te encuentras en una situación donde esto está sucediendo (es decir, donde 'bundle show' no muestra lo mismo tanto en desarrollo como en producción)? A excepción de las gemas que solo son necesarias para las pruebas (por ejemplo, 'pepino',' rspec', etc.), la lista debería ser la misma. – jefflunt

+0

Muchas gracias! – user846226

2

2 pasos que trabajaban para mí:

  1. copiar el archivo de libmySQL.dll /libhttp://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c- noinstall-6.0.2-win32.zip/from/pick (en la carpeta/lib /) en c:/su/ruta/a/ruby ​​/ bin (asegúrese de que su contenedor de ruby ​​esté en la variable de entorno PATH de su sistema)

  2. La configuración predeterminada se da para MySQL con ruby1.8. Si está ejecutando Redmine con MySQL y ruby1.9, reemplace el nombre del adaptador con mysql2 en su/config/database.archivo yml http://www.redmine.org/issues/10566

2

Sólo el paquete de instalación intente esto >>

bundle install --without=test development sqlite postgres mysql rmagick

Esto instalará todas las dependencias base requeridas, el adaptador de la base de datos MySQL mysql2 adaptador Porque no es compatible con Ruby 1.9

Y no olvides cambiar config/database.yml -> s/mysql/mysql2

\ o/

+0

Acabo de tener este problema en un proyecto antiguo (ruby 1.8) y 'database.yml' era el problema! se olvidó de sustituir 'mysql' por' mysql2' en él. – caesarsol