Issue #6124 has been updated by vo.x (Vit Ondruch).


Hi,

I put together patch (available in my github [1] fork), which demonstrates on Rake, how the situation could be improved. Would you mind to review it and let me know if such approach would be acceptable? If yes, I am willing to work further that way.

The main point of that patch is that the gemified libraries are moved out of StdLib locations. This allows to clearly see that something is available as a gem. It also does not suffer from any of the symptoms mentioned above. The ./gems/rake directory I am proposing for Rake could be even some SVN/GIT submodule, so it could help to avoid the uncertainty where is the upstream source coming from.


[1] https://github.com/voxik/ruby/commits/move-gems/
----------------------------------------
Bug #6124: What is the purpose of "fake" gems in Ruby
https://bugs.ruby-lang.org/issues/6124#change-27359

Author: vo.x (Vit Ondruch)
Status: Closed
Priority: Normal
Assignee: nahi (Hiroshi Nakamura)
Category: 
Target version: 
ruby -v: ruby 1.9.3p0 (2011-10-30) [x86_64-linux]


As I tried to point out in #6123, the "fake" gems which are distributed with Ruby breaks user's expectations. The following example should fail:

$ ruby --disable-gems -e "puts require('bigdecimal')"
true

However, it is not failing. Could you please enlighten me what is the purpose of fake gem then? Even if you install updated BigDecimal from rubygems.org, the bundled version will won unless you use "gem 'bidgecimal'" somewhere in the code. This makes no sense.

Don't take me wrong, I am big fan of gemified stdlib #5481, however this is not the way how it should be done.


-- 
http://bugs.ruby-lang.org/