使用rvm在Snow Leopard上为Rails 3安装mysql2 gem

J F*_*ong 31 ruby-on-rails osx-snow-leopard mysql2 ruby-on-rails-3

我最近升级到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)

我的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问题.

我安装了X Code 3.2.4的Snow Leopard 10.6.5.

任何的想法?

提前致谢!

J F*_*ong 89

我实际上在我的database.yml上设置了错误的适配器

所以修复是

development:
  adapter: mysql2
  database: development_database
  username: root
  password:

代替

adapter: mysql

卫生署!


fx_*_*fx_ 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
Run Code Online (Sandbox Code Playgroud)

如果您使用的是Rails 3.0.x,请相应地调整Gemfile

gem 'mysql2', '~> 0.2.6'
Run Code Online (Sandbox Code Playgroud)