问题描述
过去2周,我一直在尝试在Mac上设置我的代码.以前我使用的是Ubuntu,设置代码从未如此困难.我几乎遵循了所有教程,但是没有运气.请任何人指导我在Mac上设置RoR.遵循所有教程之后,我最终只会遇到mysql错误.
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)
如果需要其他任何信息,请告诉我.从mysql网站安装的MySQL.其他详细信息:
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)
更新: 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
database.yml:
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
在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, forosx10.11 (x86_64) using EditLine wrapper
安装了MySQL.遵循mysql安装后在屏幕上给出的命令.
installed MySQL using brew:
mysql Ver 14.14 Distrib 5.7.9, forosx10.11 (x86_64) using EditLine wrapper
. Followed the commands given onscreen after mysql installation.
通过以下步骤安装了rvm:
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
已安装的滑轨,gem install rails
,当前版本为'4.2.5'.
installed rails, gem install rails
, current version is '4.2.5'.
(mysql2 gem版本(0.4.2)用rails 4.2.5唤醒)
(mysql2 gem version (0.4.2) woking with rails 4.2.5)
(mysql2 gem版本(0.3.20)用rails 3.2.14唤醒)
(mysql2 gem version (0.3.20) woking with rails 3.2.14)
因此,现在我可以创建并运行新的Rails应用程序,但是如果我运行任何在Ubuntu上构建的旧版本的Rails应用程序,即使捆绑安装成功完成,它仍会引发错误.我收到的错误消息:
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).
错误消息不断变化,但所有消息均与mysql2 gem有关.我已经从较旧的项目中删除了供应商/缓存, Gemfile.lock ,但仍然没有成功.
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.
推荐答案
此问题的确响起了警钟,但我没有尝试挖掘Internet和我的记忆,而是尝试了以下操作:安装最新版本的mysql2
0.3系列(撰写本文时为0.3.20),并将其捆绑到应用程序中.
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.
问题似乎是最新的mysql2
gem版本0.4与Rails 3不兼容.
The problem seems that the latest mysql2
gem version 0.4 is not compatible with Rails 3.
您的宝石版本无法更改,并且您希望具有与生产版本相同的版本.为此,您只需从生产服务器复制您的Gemfile.lock
文件,将其放在Gemfile
旁边的本地文件夹中,然后执行bundle install
命令.
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.
请注意,如果您的Gemfile
指定:
Note that if your Gemfile
specifies:
gem 'mysql2', '> 0.3'
然后,Bundler将安装与0.n
匹配的最新版本,其中n >= 3
.在撰写本文时,这导致Bundler获得0.4
版本,该版本与您的Rails版本不兼容(Bundler无法从您的Gemfile
推断出该版本).一种解决方法是修改Gemfile
的副本(并将其提交到您的项目中可能是个好主意):
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
这样做,Bundler将安装与0.3.n
匹配且与n >= 13
匹配的版本.
Doing so, Bundler will install a version matchings 0.3.n
, with n >= 13
.
这篇关于耙子流产了!无法加载此类文件-El Capitan上的mysql2/mysql2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!