Rails,Ruby 1.9.3p0和mysql gem

我正在运行CentOS6并从源代码安装Ruby,以及Rails和其他一些工作人员。

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

一些gem:

 ***当地gem***

动作管理员(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)
建设者(3.0.0)
捆绑(1.0.21)
代码(0.9.7)
列(0.3.5)
 edavis10-object_daddy(0.4.3)
 erubis(2.7.0)
 fastercsv(1.5.0)
 ffi(1.0.11)
徒步旅行(1.2.1)
锄头(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)
邮件(2.3.0)
元类(0.0.1)
哑剧型(1.17.2)
 minitest(2.5.1)
摩卡(0.10.0)
 multi_json(1.0.4)
 mysql(2.8.1)
 mysql2(0.3.11,0.2.7)
 net-ldap(0.2.2)
多语言(0.3.3)
机架(1.3.5,1.1.2)
 rack-cache(1.1)
机架式(0.8.3)
 rack-ssl(1.3.2)
机架测试(0.6.1)
铁轨(3.1.3,2.3.14)
铁路(3.1.3)
耙子(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)
链轮(2.0.3)
 sqlite3(1.3.5,0.1.1)
 sqlite3-ruby(1.3.3,1.2.5)
托尔(0.14.6)
倾斜(1.3.3)
树梢(1.4.10)
 tzinfo(0.3.31)

我需要Rails才能运行chiliproject ,但是在运行以下命令时

 RAILS_ENV=production bundle exec rake db:migrate 

我明白了:

 ! 捆绑的mysql.rb驱动程序已从Rails 2.2中删除。 请安装mysql gem并再试一次:gem install mysql。
耙子流产了!
无法加载这样的文件 -  mysql

任务:TOP => db:migrate => environment
 (通过使用--trace运行任务来查看完整跟踪)

现在使用--trace

 RAILS_ENV =生产包exec rake db:migrate --trace >> tmp / rake
 **调用db:migrate(first_time)
 **调用环境(first_time)
 **执行环境
 ! 捆绑的mysql.rb驱动程序已从Rails 2.2中删除。 请安装mysql gem并再试一次:gem install mysql。
耙子流产了!
无法加载这样的文件 -  mysql
 /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in`requirement'
 /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in`requirement'
 /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/requires.rb:7:in,clock 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`clock(2级)结帐时'
 /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in`love'
 /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in`cout 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`recover_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`recover_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`actions_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`requirement'
 /usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in`requirement'
 /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“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`repected_class'
 /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.14/lib/active_record/observer.rb:183:in` observation_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:在'同步'中
 /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:inclock 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"valuation_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“阻止运行”
 /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`requirement'
 /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`requirement'
 /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`execu'
 /usr/local/lib/ruby/1.9.1/rake/task.rb:158:inclock 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`lock 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`lock 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:在`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在top_level中的块(2级)
 /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`top 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“阻止运行”
 /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''
任务:TOP => db:migrate => environment

有谁知道mysql gem文件有什么问题?

我也试过像这样安装mysql gem文件

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

我只是遇到了类似的问题,你可能正在做我的工作:我正在使用’gem list’来确定安装的内容(它列出*** LOCAL GEMS ***就像你展示的那样)我看到了mysql ,但是我的项目的Gemfile不需要bundler来安装mysql

如果你只是键入bundle show它列出’mysql’? 如果没有,那么Gemfile中的chiliproject不会导致bundler安装mysql 。 我发现这一切都非常令人困惑,直到我意识到我混淆了管理gem安装的不同方法。

如果您或其他以这种方式出现问题的人也有同样的问题,那么这可能会有所帮助。 (也许这个糟糕的解释会鼓励其中一位铁路大师为我们详细说明。)

换句话说,本地安装的gem列表与应用程序的gem中安装的列表不同(因此bundler工具的名称来自bundler )。 当您运行应用程序并使用bundler管理其依赖项时,您必须在bundler范围内执行所有操作,以确保它们一起工作。 当你这样做时,它实际上是非常直接的,并为你解决了很多问题,但如果你是从以前的经验中找到没有使用bundler应用程序那么它只需要一点点习惯。

对我有用的2个步骤:

  1. 从/libhttp://dev.mysql.com/get/Downloads/Connector-C/mysql-connector-c-noinstall-6.0.2-win32.zip/from/pick复制文件libmySQL.dll(在文件夹中/ lib /)在c:/ your / path / to / ruby​​ / bin中(确保你的ruby bin在你的系统PATH环境变量中)

  2. 使用ruby1.8为MySQL提供了默认设置。 如果您使用MySQL和ruby1.9运行Redmine,请在/config/database.yml文件中用mysql2替换适配器名称http://www.redmine.org/issues/10566

在捆绑安装上试试这个>>

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

这将安装所有必需的基本依赖项,mysql2数据库适配器原因mysql适配器与Ruby 1.9不兼容

并且不要忘记更改config / database.yml – > s / mysql / mysql2

\ O /