Drew Dello Stritto
Drew Dello Stritto

Reputation: 935

Can't run WEBrick

Trying to learn ruby on rails here and following a video tutorial but can't seem to get the enviornment to run. I'm at the point where I have created a project using rails new project_name but then, when I go to run the server, rails server, I can't actually get it to work.

The message I get follows:

drew$  rails server
/usr/local/lib/ruby/gems/1.9.1/gems/mysql2-0.3.7/lib/mysql2.rb:9:in `require': dlopen(/usr/local/lib/ruby/gems/1.9.1/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError)
  Referenced from: /usr/local/lib/ruby/gems/1.9.1/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle
  Reason: image not found - /usr/local/lib/ruby/gems/1.9.1/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle
    from /usr/local/lib/ruby/gems/1.9.1/gems/mysql2-0.3.7/lib/mysql2.rb:9:in `<top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `each'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `block in require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `each'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.18/lib/bundler.rb:120:in `require'
    from /Users/andrewdellostritto/Sites/simple_cms/config/application.rb:7:in `<top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.0/lib/rails/commands.rb:52:in `require'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.0/lib/rails/commands.rb:52:in `block in <top (required)>'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.0/lib/rails/commands.rb:49:in `tap'
    from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.1.0/lib/rails/commands.rb:49:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

Can anyone help? Thanks in advance!

Upvotes: 0

Views: 766

Answers (3)

Chris Ledet
Chris Ledet

Reputation: 11628

libmysqlclient.18.dylib in not your PATH. You need to add the mysql lib directory to the environment variable: DYLD_LIBRARY_PATH (Mac OS X) or LD_LIBRARY_PATH (Linux).

Say your mysql is installed in /usr/local/mysql/, do the following:

# Linux
export LD_LIBRARY_PATH="/usr/local/mysql/lib/:$LD_LIBRARY_PATH"
# Mac OS X
export DYLD_LIBRARY_PATH="/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH"

Upvotes: 1

Rosh
Rosh

Reputation: 731

May be you did not properly install mysql or check whether your ruby version support the rails version.....

Upvotes: 0

sosborn
sosborn

Reputation: 14694

It looks like your mysql2 gem isn't properly installed. Take a look at this question. Not sure what your environment is like but if you are on windows take a look at the second answer. I think that is the one that will apply to you.

Upvotes: 2

Related Questions