Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Don't install rubygems-bundler by default #1034

ConradIrwin opened this Issue · 27 comments

10 participants


Rubygems bundler is incredibly annoying. When I'm debugging (which i spend a considerable amount of time doing) it's absolutely essential to be able to require stuff that is not in my gemfile (pry plugins, nokogiri, the mail gem, etc.)

This is also a very confusing thing to do as it changes the semantics of rubygems and bundler. This confused me, and I've been doing ruby for years; I dread to think how many newcomers are going to run into this and what on earth they'll think the problem is.

While I can see the benefit in not having to remember to type bundle exec, a change this drastic to the way that ruby works should not be default behaviour for a tool that nominally exists to help you run many versions of ruby in parallel.


+1, while i agree the auto bundle exec behavior can be useful, it should not be the default. If users want it, can't they just gem install rubygems-bundler manually?


+1, system wide gems are broken.


+1: I can see use to the gem, and even rvm recommending users install it, but does seem a bad default.



Any magic that's not opt in is too much magic, imo.

@richo richo referenced this issue from a commit in richo/rvm
@richo richo Remove rubygems-bundler from default gemset
Fixes #1034


It seems like a quite-intrusive default to me for the reasons above, as opposed to, for example, adding a 'BUNDLE_BIN' environment variable to the variables RVM sets up in order to enable bundler's binstubs behaviour (the BUNDLE_BIN can then be added to the path as standard to allow the binstub wrappers to be looked up, rather than a gem that modifies how rubygems itself works)

@ddd ddd closed this in c91bd53

This is not to say that @mpapis will not return it to service. I was the one that initially added to RVM's global.gem, after discussing with @mpapis. So, I am the one removing the rubygems-bundler inclusion, and bumping RVM version to 1.14.6. @mpapis may or may not return it to service.


imho, better way is using binstubs, and add to .rvmrc
export PATH="./bin:$PATH"

@mpapis mpapis referenced this issue from a commit
Deryl R. Doucette Bumped version. 1.14.16 *removes* rubygems-bundler default, and fixes #…
…1034. Current users with installs can remove it from their global.gems file and the global gemset from each ruby. New users going forwards won't have to.
@mpapis mpapis referenced this issue from a commit
@mpapis mpapis Revert "Bumped version. 1.14.16 *removes* rubygems-bundler default, a…
…nd fixes #1034. Current users with installs can remove it from their global.gems file and the global gemset from each ruby. New users going forwards won't have to."

This reverts commit 4df1fb8.

@mpapis: care to explain?


@kostya ./bin is a security risk,
@ConradIrwin rubygems-bundler saves me a lot of headaches when supporting RVM. if you care and want to support all the users that forget to use bundle exec please step in - and then I can disable rubygems-bundler but as long, as I am the only one supporting freshmen - it will be the default!


@mpapis. Thanks for explaining. User support is not fun, particularly when users don't understand what stuff does or how it works. I really hope this change actually reduces the support load for you, though I'm pretty sure it's likely to have the opposite effect for the reasons outlined above.

If it does, please reconsider.

In the meantime, I've just verified that pry-debundle can work-around rubygems-bundler too. I'll just have to add that as a development dependency for every single project I work with (unless you know how to fix bundler to behave as though it were in every one of my Gemfiles automatically?).



  1. in rubygems 2.0 it will be default,
  2. in bundler 1.3 this or similar will be default!

so why I should turn of default that will be common default at point in time ?


I really really hope that rubygems don't make this change too. It's completely moronic to make development compulsorily more painful for everyone just to make deployment slightly less headachey. More people spend considerably more time developing ruby applications than deploying them. Bundler is an awesome tool, but enforced isolation for everything is terrible.

One of the best things about ruby is it's ability to just quickly hack anything together and have it mostly work. Another is the ability to jump into your program with debugging tools and inspect how it is actually running now.

This change would break both those use-cases; for approximately 0 benefit.

Can you link me to where this is being discussed?


the discussion for rubygems was online on irc , and what they wanted to do was to be the ultimate solution - load all gems ordered by Gemfile,

as for rubygems-bundler - it is ultimate solution for me, you can always disable it with export NOEXEC=0 is this not enough? I will add a note for it!


You should maybe consider that as the author of rubygems-bundler you're about ten times as likely to recommend it as anyone else.

I didn't read the documentation, surprise! Thanks, I'll use NOEXEC too. Installing RVM on a new machine now becomes a two step process: "step 1. install useless version", "step 2. configure correctly". It's like a decades old text-editor or something...



.. wait seriously?

Autoloading everything in the Gemfile is also massively opinionated. In some cases you install but deliberately don't require some components.

Add this to an environment variable so vaguely named that it's more or less guaranteed to collide with other software (quick google shows some hits in sudo, but I won't be shocked when weird bug reports start rolling in).

I can't help but feel this is making lives easier for people to lazy to read the docs, and making lives significantly harder for people who have things to get done.

Realistically I'll probably fork and maintain RVM without this flag at all because I can't see exporting NOEXEC in every shell ending well, I feel like rubygems and bundler are being crippled though.


the default gems can be ignored by using an installer flag: --without-gems="rvm rubygems-bundler"

@ConradIrwin you can now remove the gem and use the above flag to avoid installation of any gems by default

@richo no need to fork, just use the flag

as @ConradIrwin pointed out I'm author of rubygems-bundler that's why I did not wanted to add it to RVM as default, but since it was added as default by @deryldoucette, I have noticed significant drop of issues related to not using bundle exec, this made supporting RVM again an easier task and I can focus more on other tasks like RVM2.

ddd commented

yes, i did include it. yes, we did get drops in the issue count. however, MANY of the people I respect in the community brought up multiple points that I had to consider, and after doing do, find that my original decision was wrong. Thats totally on me and I'm ok with that


@mpapis thanks. The install flag is a great improvement.


Likewise, Cheers @mpapis.

@mpapis mpapis was assigned

I find this default behaviour very surprising. I can't launch my app using passenger from within the application directory, unless I include it as a dependancy in my Gemfile, even though it's not a dependancy.

Perhaps this is a problem with rubygems-bundler instead?


@Wardrop Can you elaborate on exactly what you're seeing?

This is a way old bug that's been closed for >6 months. You should almost certainly open a new issue, probably referencing this one if it's relevant.


exactly this is url for rubygems-bundler issues - and your problem sounds like rvm/rubygems-bundler#42 which is supposed to be fixed in rubygems-bundler version 1.2.0.rc1


Please remove this gem
I was using --without-gems="rvm rubygems-bundler" but now this flag has to be used not only when installing RVM but also when installing Ruby, wich is ingredibly annoying.

rubygems-bundler (1.4.2) is still breaking A LOT of very common stuff for me (and probably for a lot more people, since i'm not using anything unusual), like Bundler, Rake, Thor, DNS name resolution, etc, and I simply do not want this crap or it's bugs. Why would anyone force people to use this buggy stuff?


@glebtv I'm sorry but rubygems-bundler is not going away, it solves problem of automatic loading bundler for thousands of developers (over 8000 downloads per day), we will not remove it for single user, this is why you have not one option to disable it but two options:

  1. disable the gem at runtime with export NOEXEC_DISABLE=1, you can put this in you shell initialization file if you want it to be permanent,
  2. disable installation of this gem using rvm get stable --without-gems="rubygems-bundler" - if that option is broken open a new ticket.

You can also disable it in .rvmrc


Yes, and rubygems-bundler works perfectly for me on centos on one machine, but fails miserably on 5 others with debian 6\7.
And yes, i did all of that (including rvmrc, rvm get stable --without gems etc), it USED to work some weeks ago, but yesterday I found that this gem is still present, on a fresh rvm install on debian, installed like this:

rvm implode
\curl -L | bash -s stable --without-gems="rubygems-bundler"
(or rvm get stable --without-gems="rubygems-bundler" - doesn't matter)
rvm install 2.0.0

AND even if rvm_without_gems="rvm rubygems-bundler" in ~/.rvmrc it is still added.
BUT it disappeared when I did:

rvm uninstall 2.0.0
rvm install 2.0.0 --without-gems="rubygems-bundler"

(debian binary install). I have no idea why.
BUT, that second line breaks install on my another machine as it seems to get passed to ruby's ./configure when doing source install. RVM seems to switch to source only, when I add without-gems, but still adds the gems) So, overall, there seems to be no clean, reliable way to disable it except maintaining custom RVM installer..

All and all - now I have no idea how to not install it with RVM ruby, and also it's uninstaller won't run with RVM (see end of log)
Here is a complete log of what I did just now on a completely fresh debian 7.2 install:
I'd appreciate any kind of help or documentation on how to remove (or better not install in the first place) it


@glebtv open a new bug report, you are continuing with new issue in a ticket that was closed for version: rvm-1.15

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.