Can't remove bundler in RVM - ruby-on-rails-3

I have 1.9.2 Ruby installed in RVM. When I do a gem list I get this:
bundler (1.1.3)
When I try to remove it I get:
gem uninstall bundler
INFO: gem "bundler" is not installed
When I try to run bundle install for my app I get:
Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 3.0.1) ruby depends on
bundler (~> 1.0.0) ruby
Current Bundler version:
bundler (1.1.3)
This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?
I have tried uninstalling 1.9.2 but that did not help.

Found the answer in another Stack thread but closed it without noting the link. The issue is that rvm will not let you uninstall gems from a custom gemset that are still a part of the default "global" gemset. Do a rvm gemset use global then uninstall 1.1.3 from global.

Running 'sudo gem uninstall' did the trick for me. It seems that 'gem uninstall' will sometimes "lie" when not running as sudo.

Related

Rails 4.0.8 Bundle Install keeps poiting to the wrong Ruby version

I'm working through the Railstutorial with Rails 4.0.8. and Ruby 2.1.2. Recently Bundle Install, Rails Console and Rails Server seem to ALWAYS choose the alternate version of Ruby from whichever is specify in my Gemfile. When I enter ruby -v it also always suggests the OTHER version.
Is this a bash_profile problem and how can I set it to permanently leave the internal OS X Ruby (v2.0.0) alone and just use v 2.1.2 where all my gems are installed?
I'm using rvm and Homebrew... I suspect both may be adding to the confusion...
Any helpful tips?
First...
micanansmbp:sample_app micanan$ rails console
Your Ruby version is 2.1.2, but your Gemfile specified 2.0.0
Then...
micanansmbp:sample_app micanan$ bundle install
Your Ruby version is 2.0.0, but your Gemfile specified 2.1.2
Finally...
micanansmbp:sample_app micanan$ bundle install
Your Ruby version is 2.0.0, but your Gemfile specified 2.1.2
micanansmbp:sample_app micanan$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
micanansmbp:sample_app micanan$

how can I resolve this gemfile conflict

I'm getting this error after bundle install. How can I fix it?
Bundler could not find compatible versions for gem "excon":
In Gemfile:
locomotive-heroku (~> 0.0.2) ruby depends on
excon (~> 0.9.4) ruby
excon (0.20.0)
Uninstall the latest version of the gem: gem uninstall excon -v=0.20.0. Then bundle install again to see if it resolved the problem.
i fixed it by putting the locations for the current repos for locomotive/engine and locomotive/heroku. I.e gem 'locomotive-heroku', git: 'repolocation', require: 'locomotive/heroku' This is also what eventually got me a working installation of locomotivecms on heroku. I did need to set it to compile assets in the production environment.

Can RVM hide a gem from the global gemset?

The project I'm about to work on asks for version 1.0.10 of bundler and version 0.8.7 of rake. My global gemset has slightly newer versions of these gems. I.e., the install instructions for the new project look like this:
rvm gemset use rails3
gem uninstall -x bundler
gem install bundler -v 1.0.10
gem uninstall -x rake
gem install rake -v 0.8.7 # Rake needs to be at 0.8.7
What happens is that when I'm in this new rails3 gemset I can't uninstall the existing gems (and personally I don't want to) because they exist in the global gemset.
So, question: can I somehow hide those two gems that exist in the global gemset?
I can list the gems:
$ gem list
*** LOCAL GEMS ***
addressable (2.2.6)
archive-tar-minitar (0.5.2)
awesome_print (1.0.1)
bundler (1.0.21, 1.0.10)
...
rake (0.9.2.2, 0.8.7)
...
Maybe an ancillary question would be: since I have installed the older versions into the the rails3 gemset, will rvm prefer those because the fact they were specifically installed somehow overrides the version in global, or will rvm take the gems with the highest version number?
any command except bundle should be prefixed with bundle exec and this will assure proper version of gem is used (using Gemfile)
you can avoid writing always bundle exec by using my gem rubygems-bundler
for running bundle command - rubygems will select latest available version if you do not specify one ex. bundle _1.0.10_ exec rake db:create

debug rails 3.1.1 application

I'm try to add a debugger to my rails 3.1.1 application which uses ruby 1.9.2. I have added the following to my gemfile:
gem 'ruby-debug19', :require => 'ruby-debug'
and I get the following error:
/.rvm/gems/ruby-1.9.2-p290#rails31/gems/ruby-debug19-0.11.6/cli/ruby-debug/interface.rb:55:in `block (2 levels) in initialize': uninitialized constant Debugger::LocalInterface::Readline (NameError)
by the way i have the following:
$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
$ rails -v
Rails 3.1.1
$ rvm -v
rvm 1.8.6 by Wayne E. Seguin (wayneeseguin#gmail.com) [https://rvm.beginrescueend.com/]
What made is work for me is:
sudo gem install ruby-debug19
gem install linecache19
gem install ruby-debug-base19
bundle update
rails server -u
Did you install all the prerequisites listed in rvm notes before you installed Ruby? I'm not positive, but I think readline is a dependency for MRI on Linux.
You may also follow these instructions from the RVM site:
If you have an error when compiling pertaining to readline, you may
need to attempt installing with the procedure defined below.
NOTE: Before you follow the procedure below please be sure to verify
that you have installed any dependencies for the Ruby you are
installing listed by the 'rvm notes' command. If you have not yet done
that do so then run 'rvm remove X ; rvm install X' where X is the Ruby
that you are concerned with.
$ rvm pkg install readline
$ rvm remove 1.9.2
$ rvm install 1.9.2 --with-readline-dir=$rvm_path/usr

Using bundle with rvm at hosting

I am try
hosting_barthez#lithium:~/projects/taxes/current$ bundle install
/usr/lib/ruby/1.8/rubygems.rb:900:in `report_activate_error': Could not find RubyGem bundler (>= 0) (Gem::LoadError)
from /usr/lib/ruby/1.8/rubygems.rb:248:in `activate'
from /usr/lib/ruby/1.8/rubygems.rb:1276:in `gem'
from /var/lib/gems/1.8/bin/bundle:18
but when I write
hosting_barthez#lithium:~/projects/taxes/current$ gem install bundler
Successfully installed bundler-1.0.15
1 gem installed
I think that is obvious. You got error because you were trying to use bundle command which comes with bundler gem only, without installing it. You have to install bundler to use bundle.