8

I have been trying from last 2 weeks to setup my code on Mac. Previously I was using Ubuntu, it was never this difficult to setup code. I have followed almost all tutorials but no luck. Please can anyone guide me on setting up RoR on mac. After following all the tutorials I end up at mysql error only.

rake aborted!
cannot load such file -- mysql2/mysql2
/Users/sahil/Documents/work/ccprod/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.14/lib/active_support/dependencies.rb:251:in `require'
/Users/sahil/Documents/work/ccprod/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.14/lib/active_support/dependencies.rb:251:in `block in require'
/Users/sahil/Documents/work/ccprod/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.14/lib/active_support/dependencies.rb:236:in `load_dependency'
/Users/sahil/Documents/work/ccprod/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.14/lib/active_support/dependencies.rb:251:in `require'
/Users/sahil/Documents/work/ccprod/vendor/bundle/ruby/1.9.1/gems/mysql2-0.3.14/lib/mysql2.rb:8:in `<top (required)>'
/Users/sahil/.rvm/gems/ruby-1.9.3-p551@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:76:in `require'
/Users/sahil/.rvm/gems/ruby-1.9.3-p551@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
/Users/sahil/.rvm/gems/ruby-1.9.3-p551@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:72:in `each'
/Users/sahil/.rvm/gems/ruby-1.9.3-p551@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:72:in `block in require'
/Users/sahil/.rvm/gems/ruby-1.9.3-p551@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:61:in `each'
/Users/sahil/.rvm/gems/ruby-1.9.3-p551@global/gems/bundler-1.10.6/lib/bundler/runtime.rb:61:in `require'
/Users/sahil/.rvm/gems/ruby-1.9.3-p551@global/gems/bundler-1.10.6/lib/bundler.rb:134:in `require'
/Users/sahil/Documents/work/ccprod/config/application.rb:9:in `<top (required)>'
/Users/sahil/Documents/work/ccprod/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

Please let me know if any other information is required. MySQL installed from mysql website. Additional Details:

Server version: 5.5.46 MySQL Community Server (GPL)

Update: Gemfile.lock file:

GIT
  remote: git://github.com/acumenbrands/acts_as_slugable.git
  revision: 51c739b8dc283483e8cb68be2f48f0742dadbf3d
  specs:
    acts_as_slugable (1.0)
      activerecord (>= 3.0.0)

GIT
  remote: git://github.com/paneq/calendar_date_select.git
  revision: 977048211b94599fe0f08eb37a481f3d69df48f6
  specs:
    calendar_date_select (1.16.2)

GIT
  remote: git://github.com/rails/prototype_legacy_helper.git
  revision: a2cd95c3e3c1a4f7a9566efdab5ce59c886cb05f
  specs:
    prototype_legacy_helper (0.0.0)

GIT
  remote: https://github.com/Gonzih/respond_to_parent.git
  revision: e7399307d70d00951916fd5e396c919cd7bb7f77
  specs:
    respond_to_parent (0.0.3)
      rails (~> 3.2)

GIT
  remote: https://github.com/jwhitehorn/acts_as_versioned.git
  revision: 44dfe632ba8c97c786cbc172a2da18a41b17f668
  specs:
    acts_as_versioned (3.2.1)
      activerecord

GEM
  remote: http://rubygems.org/
  specs:
    actionmailer (3.2.14)
      actionpack (= 3.2.14)
      mail (~> 2.5.4)
    actionpack (3.2.14)
      activemodel (= 3.2.14)
      activesupport (= 3.2.14)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      journey (~> 1.0.4)
      rack (~> 1.4.5)
      rack-cache (~> 1.2)
      rack-test (~> 0.6.1)
      sprockets (~> 2.2.1)
    active_scaffold (3.3.3)
      rails (~> 3.2.0)
    activemodel (3.2.14)
      activesupport (= 3.2.14)
      builder (~> 3.0.0)
    activerecord (3.2.14)
      activemodel (= 3.2.14)
      activesupport (= 3.2.14)
      arel (~> 3.0.2)
      tzinfo (~> 0.3.29)
    activeresource (3.2.14)
      activemodel (= 3.2.14)
      activesupport (= 3.2.14)
    activesupport (3.2.14)
      i18n (~> 0.6, >= 0.6.4)
      multi_json (~> 1.0)
    acts-as-taggable-on (3.0.0)
      rails (>= 3, < 5)
    addressable (2.3.5)
    arel (3.0.3)
    asset_sync (1.0.0)
      activemodel
      fog (>= 1.8.0)
    atomic (1.1.14)
    autoparse (0.3.3)
      addressable (>= 2.3.1)
      extlib (>= 0.9.15)
      multi_json (>= 1.0.0)
    aws-sdk (1.31.3)
      json (~> 1.4)
      nokogiri (>= 1.4.4)
      uuidtools (~> 2.1)
    axiom-types (0.1.0)
      descendants_tracker (~> 0.0.3)
      ice_nine (~> 0.11.0)
      thread_safe (~> 0.1.3)
    babosa (0.3.11)
    bcrypt-ruby (3.1.2)
    better_errors (1.1.0)
      coderay (>= 1.0.0)
      erubis (>= 2.6.6)
    binding_of_caller (0.7.2)
      debug_inspector (>= 0.0.1)
    builder (3.0.4)
    bullet (4.7.1)
      activesupport
      uniform_notifier (>= 1.4.0)
    canonix (0.1.1)
    carrierwave (0.9.0)
      activemodel (>= 3.2.0)
      activesupport (>= 3.2.0)
      json (>= 1.7)
    celluloid (0.15.2)
      timers (~> 1.1.0)
    chartkick (1.3.2)
    chronic (0.10.2)
    ckeditor (4.0.7)
      mime-types
      orm_adapter
    climate_control (0.0.3)
      activesupport (>= 3.0)
    cocaine (0.5.3)
      climate_control (>= 0.0.3, < 1.0)
    coderay (1.1.0)
    coercible (1.0.0)
      descendants_tracker (~> 0.0.1)
    coffee-rails (3.2.2)
      coffee-script (>= 2.2.0)
      railties (~> 3.2.0)
    coffee-script (2.2.0)
      coffee-script-source
      execjs
    coffee-script-source (1.6.3)
    commonjs (0.2.7)
    connection_pool (1.2.0)
    crack (0.4.1)
      safe_yaml (~> 0.9.0)
    daemons (1.1.9)
    debug_inspector (0.0.2)
    delayed_job (4.0.0)
      activesupport (>= 3.0, < 4.1)
    delayed_job_active_record (4.0.0)
      activerecord (>= 3.0, < 4.1)
      delayed_job (>= 3.0, < 4.1)
    delayed_job_web (1.2.10)
      activerecord (> 3.0.0)
      delayed_job (> 2.0.3)
      sinatra (>= 1.4.4)
    descendants_tracker (0.0.3)
    devise (3.2.2)
      bcrypt-ruby (~> 3.0)
      orm_adapter (~> 0.1)
      railties (>= 3.2.6, < 5)
      thread_safe (~> 0.1)
      warden (~> 1.2.3)
    devise-encryptable (0.1.2)
      devise (>= 2.1.0)
    dotenv (0.9.0)
    dynamic_form (1.1.4)
    equalizer (0.0.9)
    erubis (2.7.0)
    event-calendar (2.3.3)
    eventmachine (1.0.3)
    exception_notification (4.0.1)
      actionmailer (>= 3.0.4)
      activesupport (>= 3.0.4)
    excon (0.31.0)
    execjs (2.0.2)
    extlib (0.9.16)
    faraday (0.8.8)
      multipart-post (~> 1.2.0)
    fattr (2.2.1)
    fog (1.19.0)
      builder
      excon (~> 0.31.0)
      formatador (~> 0.2.0)
      mime-types
      multi_json (~> 1.0)
      net-scp (~> 1.1)
      net-ssh (>= 2.1.3)
      nokogiri (~> 1.5)
      ruby-hmac
    font-awesome-rails (4.2.0.0)
      railties (>= 3.2, < 5.0)
    foreman (0.63.0)
      dotenv (>= 0.7)
      thor (>= 0.13.6)
    formatador (0.2.4)
    god (0.13.4)
    google-api-client (0.6.4)
      addressable (>= 2.3.2)
      autoparse (>= 0.3.3)
      extlib (>= 0.9.15)
      faraday (~> 0.8.4)
      jwt (>= 0.1.5)
      launchy (>= 2.1.1)
      multi_json (>= 1.0.0)
      signet (~> 0.4.5)
      uuidtools (>= 2.1.0)
    grape (0.11.0)
      activesupport
      builder
      hashie (>= 2.1.0)
      multi_json (>= 1.3.2)
      multi_xml (>= 0.5.2)
      rack (>= 1.3.0)
      rack-accept
      rack-mount
      virtus (>= 1.0.0)
    hashie (3.4.0)
    highline (1.6.20)
    hike (1.2.3)
    httpauth (0.2.0)
    i18n (0.6.9)
    ice_nine (0.11.1)
    journey (1.0.4)
    jquery-rails (3.0.4)
      railties (>= 3.0, < 5.0)
      thor (>= 0.14, < 2.0)
    json (1.8.1)
    jwt (0.1.8)
      multi_json (>= 1.5)
    launchy (2.4.2)
      addressable (~> 2.3)
    less (2.5.1)
      commonjs (~> 0.2.7)
    less-rails (2.5.0)
      actionpack (>= 3.1)
      less (~> 2.5.0)
    libv8 (3.16.14.3)
    macaddr (1.6.1)
      systemu (~> 2.5.0)
    mail (2.5.4)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    memcache-client (1.8.5)
    mime-types (1.25.1)
    mini_magick (3.7.0)
      subexec (~> 0.2.1)
    mono_logger (1.1.0)
    multi_json (1.8.2)
    multi_xml (0.5.5)
    multipart-post (1.2.0)
    mysql2 (0.3.14)
    net-scp (1.1.2)
      net-ssh (>= 2.6.5)
    net-ssh (2.8.0)
    nokogiri (1.5.9)
    oauth (0.4.7)
    oauth2 (0.9.2)
      faraday (~> 0.8)
      httpauth (~> 0.2)
      jwt (~> 0.1.4)
      multi_json (~> 1.0)
      multi_xml (~> 0.5)
      rack (~> 1.2)
    options (2.3.0)
      fattr
    orm_adapter (0.5.0)
    paperclip (3.5.2)
      activemodel (>= 3.0.0)
      activesupport (>= 3.0.0)
      cocaine (~> 0.5.3)
      mime-types
    polyglot (0.3.3)
    pr_geohash (1.0.0)
    progress_bar (1.0.0)
      highline (~> 1.6.1)
      options (~> 2.3.0)
    prototype-rails (3.2.1)
      rails (~> 3.2)
    rack (1.4.5)
    rack-accept (0.4.5)
      rack (>= 0.4)
    rack-cache (1.2)
      rack (>= 0.4)
    rack-mount (0.8.3)
      rack (>= 1.0.0)
    rack-protection (1.5.3)
      rack
    rack-ssl (1.3.3)
      rack
    rack-test (0.6.2)
      rack (>= 1.0)
    rails (3.2.14)
      actionmailer (= 3.2.14)
      actionpack (= 3.2.14)
      activerecord (= 3.2.14)
      activeresource (= 3.2.14)
      activesupport (= 3.2.14)
      bundler (~> 1.0)
      railties (= 3.2.14)
    rails-dev-tweaks (0.6.1)
      actionpack (~> 3.1)
      railties (~> 3.1)
    rails_autolink (1.1.5)
      rails (> 3.1)
    railties (3.2.14)
      actionpack (= 3.2.14)
      activesupport (= 3.2.14)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (>= 0.14.6, < 2.0)
    rake (10.1.1)
    rdoc (3.12.2)
      json (~> 1.4)
    redis (3.0.6)
    redis-namespace (1.4.1)
      redis (~> 3.0.4)
    ref (1.0.5)
    resque (1.25.2)
      mono_logger (~> 1.0)
      multi_json (~> 1.0)
      redis-namespace (~> 1.3)
      sinatra (>= 0.9.2)
      vegas (~> 0.1.2)
    resque-web (0.0.6)
      coffee-rails
      jquery-rails
      resque
      sass-rails
      twitter-bootstrap-rails
    roo (1.13.2)
      nokogiri
      rubyzip
      spreadsheet (> 0.6.4)
    rsolr (1.0.9)
      builder (>= 2.1.2)
    ruby-hmac (0.4.0)
    ruby-ole (1.2.11.7)
    ruby-saml (0.7.2)
      canonix (= 0.1.1)
      nokogiri
      uuid (~> 2.3)
    rubyzip (1.1.0)
    safe_yaml (0.9.7)
    sass (3.2.13)
    sass-rails (3.2.6)
      railties (~> 3.2.0)
      sass (>= 3.1.10)
      tilt (~> 1.3)
    sentimental (1.0.3)
    sidekiq (2.17.2)
      celluloid (>= 0.15.2)
      connection_pool (>= 1.0.0)
      json
      redis (>= 3.0.6)
      redis-namespace (>= 1.3.1)
    signet (0.4.5)
      addressable (>= 2.2.3)
      faraday (~> 0.8.1)
      jwt (>= 0.1.5)
      multi_json (>= 1.0.0)
    simple_oauth (0.2.0)
    sinatra (1.4.5)
      rack (~> 1.4)
      rack-protection (~> 1.4)
      tilt (~> 1.3, >= 1.3.4)
    spreadsheet (0.9.6)
      ruby-ole (>= 1.0)
    sprockets (2.2.2)
      hike (~> 1.2)
      multi_json (~> 1.0)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    subexec (0.2.3)
    sunspot (2.1.0)
      pr_geohash (~> 1.0)
      rsolr (~> 1.0.7)
    sunspot-queue (0.10.2)
      sunspot_rails (>= 1.3.0)
    sunspot_rails (2.1.0)
      nokogiri
      rails (>= 3)
      sunspot (= 2.1.0)
    sunspot_solr (2.1.0)
    systemu (2.5.2)
    therubyracer (0.12.1)
      libv8 (~> 3.16.14.0)
      ref
    thin (1.6.1)
      daemons (>= 1.0.9)
      eventmachine (>= 1.0.0)
      rack (>= 1.0.0)
    thor (0.18.1)
    thread_safe (0.1.3)
      atomic
    tilt (1.4.1)
    timers (1.1.0)
    treetop (1.4.15)
      polyglot
      polyglot (>= 0.3.1)
    turbo-sprockets-rails3 (0.3.11)
      railties (> 3.2.8, < 4.0.0)
      sprockets (>= 2.2.0)
    twitter-bootstrap-rails (2.2.8)
      actionpack (>= 3.1)
      execjs
      rails (>= 3.1)
      railties (>= 3.1)
    tzinfo (0.3.38)
    uglifier (2.4.0)
      execjs (>= 0.3.0)
      json (>= 1.8.0)
    uniform_notifier (1.4.0)
    uuid (2.3.7)
      macaddr (~> 1.0)
    uuidtools (2.1.4)
    vegas (0.1.11)
      rack (>= 1.0.0)
    virtus (1.0.4)
      axiom-types (~> 0.1)
      coercible (~> 1.0)
      descendants_tracker (~> 0.0, >= 0.0.3)
      equalizer (~> 0.0, >= 0.0.9)
    warden (1.2.3)
      rack (>= 1.0)
    webmock (1.16.1)
      addressable (>= 2.2.7)
      crack (>= 0.3.2)
    whenever (0.9.0)
      activesupport (>= 2.3.4)
      chronic (>= 0.6.3)
    wicked_pdf (0.11.0)
      rails
    will_paginate (3.0.7)
    will_paginate-bootstrap (1.0.1)
      will_paginate (>= 3.0.3)
    wkhtmltopdf-binary (0.9.9.3)
    youtube_it (2.3.2)
      builder
      excon
      faraday (~> 0.8)
      json (~> 1.8.0)
      nokogiri (~> 1.5.2)
      oauth (~> 0.4.4)
      oauth2 (~> 0.6)
      simple_oauth (>= 0.1.5)
      webmock

PLATFORMS
  ruby

DEPENDENCIES
  active_scaffold
  acts-as-taggable-on
  acts_as_slugable!
  acts_as_versioned!
  asset_sync
  aws-sdk
  babosa
  better_errors
  binding_of_caller
  bullet
  calendar_date_select!
  carrierwave
  chartkick
  ckeditor
  coderay
  coffee-rails
  delayed_job_active_record
  delayed_job_web
  devise
  devise-encryptable
  dynamic_form
  event-calendar
  exception_notification
  font-awesome-rails
  foreman
  god
  google-api-client
  grape
  jquery-rails
  less-rails
  memcache-client
  mini_magick
  mysql2 (>= 0.3)
  nokogiri (= 1.5.9)
  paperclip
  progress_bar
  prototype-rails
  prototype_legacy_helper (= 0.0.0)!
  rails (= 3.2.14)
  rails-dev-tweaks (~> 0.6.1)
  rails_autolink
  respond_to_parent!
  resque
  resque-web
  roo
  ruby-saml
  sass-rails
  sentimental
  sidekiq
  sunspot-queue
  sunspot_rails
  sunspot_solr
  therubyracer
  thin
  turbo-sprockets-rails3
  uglifier
  whenever
  wicked_pdf
  will_paginate (~> 3.0)
  will_paginate-bootstrap
  wkhtmltopdf-binary
  youtube_it

database.yml:

# MySQL.  Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
#   gem install mysql2
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: db_development
  pool: 5
  username: root
  password: xyz
  socket: /var/run/mysqld/mysqld.sock

The steps which worked in Ubuntu for setting up Rails:

Installation of rvm and ruby in 12.04(Followed the link) 
https://www.digitalocean.com/community/articles/how-to-install-ruby-on-rails-on-ubuntu-12-04-lts-precise-pangolin-with-rvm 
the steps are: 

sudo apt-get update 
sudo apt-get install curl 
\curl -L https://get.rvm.io | bash -s stable 
source ~/.rvm/scripts/rvm 
rvm requirements(error will occur - not to worry. Go to the link provided to install the package-----) 
rvm autolibs rvm_pkg
again give -> rvm requirements 
rvm install 1.9.3 
rvm use 1.9.3 



get the code and do inside it
bundle install 

later check with rails s.. if not working. do as follows 
gem uninstall -i /home/user_xyz/.rvm/gems/ruby-1.9.3-p448@global bundler 

then install 
gem install bundler -v1.0.22 

install git 
sudo apt-get install git 
 then 
bundle install --system 

then again do 
bundle install 

If the bundle install --system is not working 
gem install bundler --pre 

again give 
bundle install --system 

It will ask to install the mysql2 
install the mysql2 
sudo apt-get install mysql2 -v0.3.13 

again give 
bundle install --system 

then install the following for the mysql error 
sudo apt-get install libmysql-ruby libmysqlclient-dev 

After the mysql error. nokogiri error occurs 
sudo apt-get install libxslt-dev libxml2-dev 
sudo gem install nokogiri 

finally give 
bundle install --system 

install netbeans 
first install java package 
sudo apt-get install openjdk-7-jdk 
sh netbeans-7.0.1-ml-linux.sh 

Proceed as follows(Due to erros do the following)
gem uninstall bundler 
bundle install 
rvm @global do gem uninstall bundler 
gem update bundle 
bundle install --system 
Error for event machine(Check the link: http://stackoverflow.com/questions/4735303/failed-to-install-gem-install-eventmachine-i-need-starling-in-my-project-fo) 
sudo apt-get install build-essential 
install event machine 
gem install eventmachine -v '1.0.3' 
bundle install --system 

install mysql 
sudo apt-get install mysql-server 
change the password in the config/database.yml for the mysql

Solution: Steps followed to setup Rails:

  • installed MySQL using brew:mysql Ver 14.14 Distrib 5.7.9, for osx10.11 (x86_64) using EditLine wrapper. Followed the commands given onscreen after mysql installation.

  • installed rvm with the following steps:

    \curl -L https://get.rvm.io | bash -s stable —ruby

    rvm install 1.9.3

    rvm use 1.9.3

    rvm --default 1.9.3

  • installed rails, gem install rails, current version is '4.2.5'.

(mysql2 gem version (0.3.20) woking with rails 4.1.4)

(mysql2 gem version (0.4.2) woking with rails 4.2.5)

(mysql2 gem version (0.3.20) woking with rails 3.2.14)

So, now I am able to create and run new rails app, but if I run any older rails app built on Ubuntu, it keeps throwing error even though bundle install completes successfully. The error message which I get:

Gem::LoadError: Specified 'mysql2' for database adapter, but the gem is not loaded. Add `gem 'mysql2'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).

The error messages keeps changing but all are related to mysql2 gem. I have deleted vendor/cache, Gemfile.lock from my older project but still no success.

Sahil
  • 3,338
  • 1
  • 21
  • 43
  • Have you installed the mysql2 gem (confirming)? You are also using an older version of Ruby, so you need to make sure it is fine for your version of Rails. – Eric Platon Nov 26 '15 at 11:04
  • Yes i have installed mysql2-0.4.2, and I am using rvm 1.9.3, My rails version is 3.2.14 – Sahil Nov 26 '15 at 11:06
  • What happens if you try to access the DB from the Rails console? – Eric Platon Nov 26 '15 at 11:24
  • 1
    I wonder, have you installed the MySQL client development headers? I guess the gem cannot be installed without, but just to be sure... – Eric Platon Nov 26 '15 at 11:25
  • You can also try `irb -r mysql2` and see if you manually create a MySQL client object. – Eric Platon Nov 26 '15 at 11:27
  • rails c gives the same error., what does MYSQL client header mean? and how to create mysql client object – Sahil Nov 26 '15 at 11:33
  • Similar question [here](http://stackoverflow.com/questions/18158775/rails-cannot-load-such-file-mysql2-mysql2-loaderror) – Vasu Adari Nov 26 '15 at 11:35
  • I have already tried removing mysql gem and reinstalling it. According to my gemfile I have to install mysql > '0.3', I cannot change any settings in my Gemfile as this is used in production enviornment and there it works perfectly fine. – Sahil Nov 26 '15 at 11:40

2 Answers2

1

This problem does ring a bell, but instead of digging out the Internet and my memory, I have just tried the following: Install the latest mysql2 of the 0.3 series (0.3.20 at time of writing), and bundle it up for the application.

The problem seems that the latest mysql2 gem version 0.4 is not compatible with Rails 3.


Your gem versions cannot be changed, and you want to have the same versions as production. To do so, you could just copy over your Gemfile.lock file from the production server, put it in your local folder aside the Gemfile, and execute the bundle install command.

Note that if your Gemfile specifies:

gem 'mysql2', '> 0.3'

Then Bundler will install the latest version that matches 0.n where n >= 3. At time of writing, that leads Bundler to get a 0.4 version, which is not compatible with your Rails version (Bundler cannot infer that from your Gemfile). A workaround for you is to modify your copy of the Gemfile (and committing it to your project may be a good idea):

gem 'mysql2', '> 0.3.13'  # put here the actual version used in production

Doing so, Bundler will install a version matchings 0.3.n, with n >= 13.

Eric Platon
  • 9,819
  • 6
  • 41
  • 48
  • Thanks @Eric, I am still unable to make this work. I have a one page doc for setting up code on ubuntu machines, but no one has tried that config on mac. Will you be able to help me out if I share that doc with you – Sahil Nov 27 '15 at 05:00
  • Bundle install only succeds if I use rvm 1.9.3, but I keep getting the same error for mysql rake aborted. The cutrent version of mysql gem is below 0.4. I have installed mysql 5.5 setup on my machine using dmg file. – Sahil Nov 27 '15 at 05:02
  • 1
    Let's do it, if you can share that file. The above answer is what I have tried from scratch, with the versions you mentioned. – Eric Platon Nov 27 '15 at 05:07
  • I have added the steps used to install in Ubuntu. I have tried removing **vendor/cache, vendor/bundle**, and then doing bundle install. – Sahil Dec 01 '15 at 01:39
  • Your `datables.yml` file specifies a socket. Is it the same on your local machine? – Eric Platon Dec 01 '15 at 04:11
  • Yes, its the same on my local. And if I am creating new apps on my machine, they don't even have a socket parameter in it. – Sahil Dec 01 '15 at 05:34
  • 1
    Just to be sure, is the socket specified in `database.ml` matches the actual socket of your MySQL installation? My previous question was ambiguous, sorry. How about [this question](http://stackoverflow.com/questions/33011131/rails-on-osx-10-11-el-capitan-library-not-loaded-libmysqlclient-18-dylib) ? Would that just be need for extra steps to setup MySQL in your environment? No problem here (luckily?). – Eric Platon Dec 02 '15 at 00:59
  • sorry for my late replies, as the place where am living is flooded with water because of heavy rains I will not be able to try out anything for next few days. Thanks for all of your help, will keep you updated if I am able to run RoR apps on Mac. – Sahil Dec 02 '15 at 06:39
  • @Sahil may you and your family be safe. The community here will stay here and wait for your feedback. Best. – Eric Platon Dec 05 '15 at 04:58
  • Hi Eric, I do not have Xcode installed, I just have installed command line tool. Can you help me in installing any version of rails with mysql that would be more than enough for me? I have been trying various blogs but no success. – Sahil Dec 12 '15 at 03:18
  • The problem may not be Rails. How about starting with Ruby 1.9.3, the mysql2 gem, and trying to execute a simple query in IRB ? I believe this will fail, and there should be some more information available to find a way for Rails. – Eric Platon Dec 12 '15 at 03:30
  • Yes, I wanted to start from scratch. i have uninstalled rvm and ruby except the default ruby available on mac. I guess this might help anyone whose using El Capitan or is a new user like me on a Mac to setup Rails. – Sahil Dec 12 '15 at 03:31
  • [This](https://github.com/brianmario/mysql2/issues/646) may contain hints for your case. The solution from @jonathansimmons may work? – Eric Platon Dec 12 '15 at 03:37
  • You have just marked the answer as the solution. Can you share any late detail? – Eric Platon Dec 12 '15 at 05:34
  • Sorry, it worked, so I marked it as the answer, but when I tried running the other rails app, I realised the previous one was without any db, it just using localStorage. I feel the only problem is between mysql server and the mysql2 gem, Is there a way to know which version of mysql2 gem would work with the mysql version and should I install mysql from brew or directly download a .dmg file? Update: I have installed rvm 1.9.3 which installed **ruby-1.9.3-p551**. – Sahil Dec 12 '15 at 06:06
  • The changelog may be a good source of information---I did not check. As for installing MySQL, I guess it depends on your constraints. Homebrew or MacPorts are usually fine, and you can often choose the version you want to. But sometimes the version you want is not supported, and manual install (even build) can be necessary. In general, it is way easier to leave install to a package manager on a dev machine, right? – Eric Platon Dec 12 '15 at 06:28
  • Let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/97700/discussion-between-sahil-and-eric-platon). – Sahil Dec 12 '15 at 06:33
  • Now I am able to create new rails project and they are working perfectly. But all the projects which I had made in my Ubuntu machines are giving `Couldn't create database for {"adapter"=>"mysql2", "encoding"=>"utf8", "pool"=>5, "username"=>"root", "password"=>"tcs12345", "socket"=>"/tmp/mysql.sock#/var/run/mysqld/mysqld.sock", "database"=>"browse_words_development"}, {:charset=>"utf8", :collation=>"utf8_unicode_ci"} (If you set the charset manually, make sure you have a matching collation)` error. – Sahil Dec 12 '15 at 10:01
  • Let's move to the chat. Sorry, I could not make it earlier. We should have done that earlier. – Eric Platon Dec 12 '15 at 15:28
  • it has been a great help. Thanks for being so patient and helping me out. :) – Sahil Dec 12 '15 at 18:20
0

The first problem is that you don't have the mysql2 gem installed on your system (it seems that you've fixed this, so you don't need to worry about it).

I don't know the specifics of Mac, but in Windows, it means that you have download the appropriate libraries & get them installed on your system before installing the gem.

--

In regards the error:

Gem::LoadError: Specified 'mysql2' for database adapter, but the gem is not loaded. Add gem 'mysql2' to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).

... this problem is caused by Rails 4.2.0 - 4.2.4 calling the wrong version of mysql2: Rails 4 - Gem::LoadError: Specified 'mysql2' for database adapter, but the gem is not loaded

The solution is to change the Gemfile for any of the apps which are broken, to update them to the latest version of Rails, preferably using the 4-2-stable branch on github:

#Gemfile
gem 'rails', '~> 4.2.5', git: "git://github.com/rails/rails.git", branch: '4-2-stable' 

enter image description here

Community
  • 1
  • 1
Richard Peck
  • 76,116
  • 9
  • 93
  • 147
  • My older project uses **gem 'rails', '3.2.14'**, and in Ubuntu the mysql version is **0.3.14**. – Sahil Dec 12 '15 at 11:08