耙子流产了!无法加载此类文件-El Capitan上的mysql2 / mysql2

sah*_*hil 6 ruby mysql macos ruby-on-rails-3

从过去的两周开始,我一直在尝试在Mac上设置我的代码。以前,我使用Ubuntu,所以设置代码从未如此困难。我遵循了几乎所有教程,但没有运气。请任何人指导我在Mac上设置RoR。遵循所有教程之后,我最终只会遇到mysql错误。

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

如果需要其他任何信息,请告诉我。从mysql网站安装的MySQL。额外细节:

Server version: 5.5.46 MySQL Community Server (GPL)
Run Code Online (Sandbox Code Playgroud)

更新: Gemfile.lock文件:

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

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

在Ubuntu中用于设置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
Run Code Online (Sandbox Code Playgroud)

解决方案: 按照以下步骤设置Rails:

  • 使用brew:安装了MySQL mysql Ver 14.14 Distrib 5.7.9, for osx10.11 (x86_64) using EditLine wrapper。遵循mysql安装后在屏幕上给出的命令。

  • 通过以下步骤安装了rvm:

    \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

  • 安装的滑轨,gem install rails当前版本为'4.2.5'。

(mysql2 gem版本(0.3.20)可以通过Rails 4.1.4正常运行)

(mysql2 gem版本(0.4.2)和rails 4.2.5一起工作)

(mysql2 gem版本(0.3.20)用rails 3.2.14唤醒)

因此,现在我可以创建并运行新的Rails应用程序,但是如果我运行任何在Ubuntu上构建的旧版Rails应用程序,即使捆绑安装成功完成,它仍会引发错误。我收到的错误消息:

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).
Run Code Online (Sandbox Code Playgroud)

错误消息不断变化,但是所有与mysql2 gem有关。我从较旧的项目中删除了vendor / cache,Gemfile.lock,但是仍然没有成功。

Eri*_*ton 1

这个问题确实敲响了警钟,但我没有去挖掘互联网和我的记忆,而是尝试了以下操作:安装最新mysql2的 0.3 系列(在撰写本文时为 0.3.20),并将其捆绑到应用程序中。

问题似乎是最新的mysql2gem 版本 0.4 与 Rails 3 不兼容。


您的 gem 版本无法更改,并且您希望拥有与生产版本相同的版本。为此,您只需Gemfile.lock从生产服务器复制文件,将其放在本地文件夹中Gemfile,然后执行bundle install命令。

请注意,如果您Gemfile指定:

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

0.n然后 Bundler 将安装与where匹配的最新版本n >= 3。在撰写本文时,这会导致 Bundler 获得0.4与您的 Rails 版本不兼容的版本(Bundler 无法从您的 中推断出这一点Gemfile)。您的解决方法是修改您的副本Gemfile(并将其提交到您的项目可能是一个好主意):

gem 'mysql2', '> 0.3.13'  # put here the actual version used in production
Run Code Online (Sandbox Code Playgroud)

这样,Bundler 将安装一个与0.3.n, 和n >= 13.