Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Install mysql2 gem on Snow Leopard for Rails 3 with rvm

I have recently upgraded to Rails 3 and created a new application with Rails 3.0.3, but I keep getting an error

 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'):   

I have a 64 bits machine. Errors are only on documentation and looked like the gem was installed correctly.

 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  

I have added the gem in my GemFile

 source 'http://rubygems.org'  gem 'rails', '3.0.3' gem 'mysql2' gem 'sqlite3-ruby', :require => 'sqlite3'  

My GemFile.lock looks like this

 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  

Gem list

 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 is up and running:

 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>   

This is all I have in my brand new application, but I'm still getting the missing mysql2 gem problem.

I have Snow Leopard 10.6.5 with X Code 3.2.4 installed.

Any idea?

Thanks in advance!

like image 683
J Fong Avatar asked Nov 28 '10 14:11

J Fong


2 Answers

I actually had the wrong adaptor set on my database.yml

So the fix is

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

Instead of

 adapter: mysql 

Doh!

like image 114
J Fong Avatar answered Oct 01 '22 18:10

J Fong


If you're seeing this recently, it's because mysql2 0.3 removed the ActiveRecord Adapter, which is now part of 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 

Adjust your Gemfile accordingly if you're on Rails 3.0.x

gem 'mysql2', '~> 0.2.6' 
like image 25
fx_ Avatar answered Oct 01 '22 20:10

fx_