Rails 3 beta 2 won't load mysql gem

Hi all,

I decided to try out Rails 3 and immediately ran into big issues... I
am using ruby-1.8.7-p249 compiled with rvm on Ubuntu 9.10 and followed
the install instructions for Rails 3 from http://guides.rails.info/3_0_release_notes.html

My first issue was it required me to install the sqlite3-ruby gem
despite changing the adapters in config/database.yml. After trying to
find a way around this I gave up and just installed the extra gem.
After this, doing a rake db:create caused this error:

:~/rails_app$ rake db:create
(in -snip-/rails_app)
!!! Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

The mysql gem is definitely installed, and correctly loads if I do the
following:

:~/rails_app$ irb
ruby-1.8.7-p249 > require 'rubygems'
=> true
ruby-1.8.7-p249 > require 'mysql'
=> true

So I'm stuck. Googling has not provided any answers. Anyone figured
this one out?

(Yes, 'which rake' shows it is loading the correct rake...)

Hi all,

I decided to try out Rails 3 and immediately ran into big issues… I

am using ruby-1.8.7-p249 compiled with rvm on Ubuntu 9.10 and followed

the install instructions for Rails 3 from http://guides.rails.info/3_0_release_notes.html

My first issue was it required me to install the sqlite3-ruby gem

despite changing the adapters in config/database.yml. After trying to

find a way around this I gave up and just installed the extra gem.

After this, doing a rake db:create caused this error:

:~/rails_app$ rake db:create

(in -snip-/rails_app)

!!! Please install the mysql gem and try again: gem install mysql.

rake aborted!

no such file to load – mysql

The mysql gem is definitely installed, and correctly loads if I do the

following:

:~/rails_app$ irb

ruby-1.8.7-p249 > require ‘rubygems’

=> true

ruby-1.8.7-p249 > require ‘mysql’

=> true

So I’m stuck. Googling has not provided any answers. Anyone figured

this one out?

(Yes, ‘which rake’ shows it is loading the correct rake…)

What does the following say?

$ gem environment

$ gem list mysql

BTW, I was able to install on both Linux and Mac OS using the following

combinations:

Ruby 1.8.7/1.9.2, Rails 3.0 beta, Linux

Ruby 1.8.7/1.9.2, Rails 3.0 beta, Mac OS

-Conrad

What does the following say?

$ gem environment

RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.6
  - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [i686-linux]
  - INSTALLATION DIRECTORY: /-snip-/.rvm/gems/ruby-1.8.7-p249
  - RUBY EXECUTABLE: /-snip-/.rvm/rubies/ruby-1.8.7-p249/bin/ruby
  - EXECUTABLE DIRECTORY: /-snip-/.rvm/gems/ruby-1.8.7-p249/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /-snip-/.rvm/gems/ruby-1.8.7-p249
     - /-snip-/.rvm/gems/ruby-1.8.7-p249@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://gems.rubyforge.org/", "http://
gems.github.com"]
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/
     - http://gems.github.com

$ gem list mysql

*** LOCAL GEMS ***
mysql (2.8.1)
mysqlplus (0.1.1)

I've tried uninstalling mysqlplus (which I use in a different project)
and it doesn't make a difference.

-Jonathan Nielsen

"Jonathan Nielsen" <mudwick@gmail.com> wrote in message news:46b884b7-c53a-4166-830b-82fdc7e5f5d7@z11g2000yqz.googlegroups.com...

Hi all,

I decided to try out Rails 3 and immediately ran into big issues... I
am using ruby-1.8.7-p249 compiled with rvm on Ubuntu 9.10 and followed
the install instructions for Rails 3 from http://guides.rails.info/3_0_release_notes.html

My first issue was it required me to install the sqlite3-ruby gem
despite changing the adapters in config/database.yml. After trying to
find a way around this I gave up and just installed the extra gem.
After this, doing a rake db:create caused this error:

:~/rails_app$ rake db:create
(in -snip-/rails_app)
!!! Please install the mysql gem and try again: gem install mysql.
rake aborted!
no such file to load -- mysql

As I understand it, you need to add the mysql gem to the Gemfile, and run "bundle install". Rails 3 projects only look for gems in the .bundle directory. The bundler reads the gemfile, and then either creates links in the $appdir/.bundle directory to the system gems, or downloads them and installs them into the $appdir/.bundle directory. The whole idea is to allow installing gems that only one project needs into the project directory, rather than into the system gem repository, especally since the latter requires superuser permissions in many operating systems, but while doing so to use the system gems when possible to avoid duplication.

As I understand it, you need to add the mysql gem to the Gemfile, and run
"bundle install". Rails 3 projects only look for gems in the .bundle
directory.

Oh wow, I didn't see the gemfile at all... thanks for pointing me to
that. That looks like the solution to my problem, thanks!

-Jonathan Nielsen

As I understand it, you need to add the mysql gem to the Gemfile, and run

“bundle install”. Rails 3 projects only look for gems in the .bundle

directory.

Oh wow, I didn’t see the gemfile at all… thanks for pointing me to

that. That looks like the solution to my problem, thanks!

-Jonathan Nielsen

Yes, Rails 3 is a bit stricter in application development where you need to specify

which gems are being used by the application in the Gemfile. I would recommend

working through the Rails guides as well as getting comfortable with the Bundler gem.

Good luck,

-Conrad