我最近升级到Rails 3并使用Rails 3.0.3创建了一个新应用程序,但我一直收到错误
Macintosh:$ rails server => Booting WEBrick => Rails 3.0.3 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2010-11-28 11:32:47] INFO WEBrick 1.3.1 [2010-11-28 11:32:47] INFO ruby 1.8.7 (2010-04-19) [i686-darwin10.4.0] [2010-11-28 11:32:47] INFO WEBrick::HTTPServer#start: pid=1055 port=3000 Started GET "/" for 127.0.0.1 at Sun Nov 28 11:32:52 +0000 2010 RuntimeError (!!! Missing the mysql2 gem. Add it to your Gemfile: gem 'mysql2'):
我有64位机器。错误仅在文档上显示,并且看起来像gem正确安装。
Macintosh:$ env ARCHFLAGS="-arch i386" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config Building native extensions. This could take a while... Successfully installed mysql2-0.2.6 1 gem installed Installing ri documentation for mysql2-0.2.6... Enclosing class/module 'mMysql2' for class Client not known Building YARD (yri) index for mysql2-0.2.6... Installing RDoc documentation for mysql2-0.2.6... Enclosing class/module 'mMysql2' for class Client not known
我在GemFile中添加了gem
source 'http://rubygems.org' gem 'rails', '3.0.3' gem 'mysql2' gem 'sqlite3-ruby', :require => 'sqlite3'
我的GemFile.lock看起来像这样
GEM remote: http://rubygems.org/ specs: abstract (1.0.0) actionmailer (3.0.3) actionpack (= 3.0.3) mail (~> 2.2.9) actionpack (3.0.3) activemodel (= 3.0.3) activesupport (= 3.0.3) builder (~> 2.1.2) erubis (~> 2.6.6) i18n (~> 0.4) rack (~> 1.2.1) rack-mount (~> 0.6.13) rack-test (~> 0.5.6) tzinfo (~> 0.3.23) activemodel (3.0.3) activesupport (= 3.0.3) builder (~> 2.1.2) i18n (~> 0.4) activerecord (3.0.3) activemodel (= 3.0.3) activesupport (= 3.0.3) arel (~> 2.0.2) tzinfo (~> 0.3.23) activeresource (3.0.3) activemodel (= 3.0.3) activesupport (= 3.0.3) activesupport (3.0.3) arel (2.0.4) builder (2.1.2) erubis (2.6.6) abstract (>= 1.0.0) i18n (0.4.1) mail (2.2.10) activesupport (>= 2.3.6) i18n (~> 0.4.1) mime-types (~> 1.16) treetop (~> 1.4.8) mime-types (1.16) mysql2 (0.2.6) polyglot (0.3.1) rack (1.2.1) rack-mount (0.6.13) rack (>= 1.0.0) rack-test (0.5.6) rack (>= 1.0) rails (3.0.3) actionmailer (= 3.0.3) actionpack (= 3.0.3) activerecord (= 3.0.3) activeresource (= 3.0.3) activesupport (= 3.0.3) bundler (~> 1.0) railties (= 3.0.3) railties (3.0.3) actionpack (= 3.0.3) activesupport (= 3.0.3) rake (>= 0.8.7) thor (~> 0.14.4) rake (0.8.7) sqlite3-ruby (1.2.4) thor (0.14.6) treetop (1.4.9) polyglot (>= 0.3.1) tzinfo (0.3.23) PLATFORMS ruby DEPENDENCIES mysql2 rails (= 3.0.3) sqlite3-ruby
宝石清单
Macintosh:$ gem list *** LOCAL GEMS *** abstract (1.0.0) actionmailer (3.0.3) actionpack (3.0.3) activemodel (3.0.3) activerecord (3.0.3) activeresource (3.0.3) activesupport (3.0.3) acts_as_ferret (0.4.4) arel (2.0.4) builder (3.0.0, 2.1.2) bundler (1.0.7) capistrano (2.5.9) dnssd (1.3) erubis (2.6.6) fastthread (1.0.7) gnuplot (2.2) highline (1.6.1, 1.5.1) hpricot (0.8.1) i18n (0.4.2, 0.4.1) libxml-ruby (1.1.3) linecache (0.43) mail (2.2.10) memcache-client (1.8.5, 1.7.6) memcached (0.17.5) mime-types (1.16) mysql2 (0.2.6) net-scp (1.0.4, 1.0.2) net-sftp (2.0.5, 2.0.2) net-ssh (2.0.23, 2.0.15) net-ssh-gateway (1.0.1) polyglot (0.3.1) rack (1.2.1, 1.0.1, 1.0.0) rack-mount (0.6.13) rack-test (0.5.6) rails (3.0.3) railties (3.0.3) rake (0.8.7, 0.8.4) rcov (0.9.9, 0.9.8) rdoc (2.5.11) RedCloth (4.2.2) rmagick (2.12.2) ruby-debug-base (0.10.3) ruby-debug-ide (0.4.5) rubygems-update (1.3.7, 1.3.5, 1.3.3) rvm (1.1.1) sqlite3-ruby (1.3.2, 1.2.4) test-spec (0.10.0) text-format (1.0.0) text-hyphen (1.0.0) thor (0.14.6) treetop (1.4.9) tzinfo (0.3.23) yard (0.5.8)
My Mysql启动并运行:
Macintosh:$ mysql -uroot Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.53 MySQL Community Server (GPL) Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
这就是我在全新应用程序中的全部内容,但我仍然遇到了缺少的mysql2 gem问题。
我安装了Snow Leopard 10.6.5并安装了X Code 3.2.4。
有什么想法吗?
提前致谢!
答案 0 :(得分:89)
我实际上在我的database.yml上设置了错误的适配器
所以修复是
development: adapter: mysql2 database: development_database username: root password:
而不是
adapter: mysql
卫生署!
答案 1 :(得分:5)
如果你最近看到这个,那是因为mysql2 0.3删除了ActiveRecord适配器,它现在是Rails 3.1的一部分
WARNING: This version of mysql2 (0.3.2) doesn't ship with the ActiveRecord adapter bundled anymore as it's now part of Rails 3.1
WARNING: Please use the 0.2.x releases if you plan on using it in Rails <= 3.0.x
如果您使用的是Rails 3.0.x
,请相应地调整您的Gemfilegem 'mysql2', '~> 0.2.6'