I recently upgraded mysql on my machine. As a result I'm attempting to update my mysql2 gem accordingly. In the process of doing that, I run "bundle install", and for some reason all of the gems in my Gemfile are getting installed in a ./mysql2 directory??
ruby-1.9.2-p180 [dev]:project.git$ bundle install
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/shared_helpers.rb:3.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#each called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#each called from /Users/al/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.10/lib/bundler/source.rb:162.
Fetching source index for http://rubygems.org/
Installing rake (0.8.7)
Installing ZenTest (4.5.0)
Installing abstract (1.0.0) WARNING: abstract-1.0.0 has an invalid nil value for @cert_chain
Installing activesupport (3.0.7)
Installing builder (2.1.2) WARNING: builder-2.1.2 has an invalid nil value for @cert_chain
Installing i18n (0.5.0)
Installing activemodel (3.0.7)
Installing erubis (2.6.6)
.
.
.
Installing typhoeus (0.2.4) with native extensions
Installing webrat (0.7.3)
Installing will_paginate (2.3.15)
Your bundle is complete! It was installed into ./mysql2
For some reason, also my .bundle dir contains a config file that indicates the BUNDLE_PATH is mysql2? I don't know where this came from or how it got there...
ruby-1.9.2-p180 [dev]:project.git$ ls
Gemfile README app config.ru doc log mysql2 script test
Gemfile.lock Rakefile config db lib misc public spec vendor
ruby-1.9.2-p180 [dev]:project.git$ ls -a
. .git Gemfile Rakefile config.ru lib mysql2 spec
.. .gitignore Gemfile.lock app db log public test
.bundle .rspec README config doc misc script vendor
ruby-1.9.2-p180 [dev]:project.git$ cd .bundle
ls
ruby-1.9.2-p180 [dev]:.bundle$ ls
config
ruby-1.9.2-p180 [dev]:.bundle$ cat config
---
BUNDLE_DISABLE_SHARED_GEMS: "1"
BUNDLE_PATH: mysql2
Here's my Gemfile:
source 'http://rubygems.org'
gem 'rake'
gem 'rails'
gem 'mysql2', '0.2.6'
gem 'legacy_data'
gem 'htmlentities'
gem 'httparty'
gem 'net-ssh'
gem 'net-sftp'
gem 'rsolr'
gem 'activerecord-import'
gem 'ar-extensions'
gem 'typhoeus'
gem 'composite_primary_keys'
gem 'devise'
gem 'authlogic'
gem 'will_paginate'
gem 'json_pure' # Note that installing the 'json' gem results in a "[BUG] unknown type 0x22 (0xc given)" error when loading rails console
gem "friendly_id", "~> 3.2.1"
# Use unicorn as the web server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger (ruby-debug for Ruby 1.8.7+, ruby-debug19 for Ruby 1.9.2+)
# gem 'ruby-debug'
# gem 'ruby-debug19'
# Bundle the extra gems:
# gem 'bj'
# gem 'nokogiri'
# gem 'sqlite3-ruby', :require => 'sqlite3'
# gem 'aws-s3', :require => 'aws/s3'
# Gems for RSpec
# Bundle gems for the local environment. Make sure to
# put test-only gems in this group so their generators
# and rake tasks are available in development mode:
group :search_development, :test do
gem 'rspec-rails', "~> 2.4"
gem 'webrat'
gem 'rspec'
end
gem 'autotest'
I've been spinning my wheels on this for some time. Thanks ahead of time for any ideas or thoughts about how to proceed. (Also, this is the second time that I've bundle installed into a mysql2 dir, so I've decided to stop now before I dig a deeper hole)
It's actually deprecated behavior that I had a problem with a couple weeks ago. It's likely you ran the command bundle install mysql
, which actually runs bundle install --path mysql
and permanently sets its install directory to ./mysql2 (as little as that makes sense). The easiest way to fix this from happening is by running bundle install --system
, and that should restore your default install directory. Next time if you want to upgrade a single gem, use the command bundle update mysql
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With