回答问题

从过去两周开始,我一直在尝试在 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)

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

Server version: 5.5.46 MySQL Community Server (GPL)

更新: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

数据库.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

在 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

解决方案: 设置 Rails 的步骤:

  • 使用 brew:mysql Ver 14.14 Distrib 5.7.9, for osx10.11 (x86_64) using EditLine wrapper安装 MySQL。安装 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).

错误消息不断变化,但都与 mysql2 gem 有关。我已经从我的旧项目中删除了vendor/cacheGemfile.lock,但仍然没有成功。

Answers

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

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


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

请注意,如果您的Gemfile指定:

gem 'mysql2', '> 0.3'

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

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

这样做,Bundler 将安装一个与0.3.n匹配的版本,与n >= 13

Logo

华为、百度、京东云现已入驻,来创建你的专属开发者社区吧!

更多推荐