From: James Tucker Date: 2010-09-17T00:03:37+09:00 Subject: [ruby-core:32438] Re: Can we convert the standard library to gems? On 16 Sep 2010, at 11:54, Michal Suchanek wrote: > On 16 September 2010 16:41, James Tucker wrote: >> >> Apple doesn't provide packages, they provide a filesystem snapshot. This is not valid. > > They sort of do provide packages, you just can't uninstall them. Makes > supporting rubygems much easier. Once you have rubygems they manage > the gems and you cannot get rid of them in any supported way. I don't like these hacks at all, and I've noticed that we're seeing similar issues creating user bug reports with bundled rdoc in 1.9.3. I have plans to make rubygems easier to support 'vendor packages', with the original aim to making it easier for OS packagers to deal with their own bundles more easily. I think Ruby needs the same support. I do not find the following transcript appropriate: % sudo /usr/bin/gem list mongrel *** LOCAL GEMS *** mongrel (1.1.5) % sudo /usr/bin/gem uninstall mongrel Password: ERROR: While executing gem ... (Gem::InstallError) cannot uninstall, check `gem list -d mongrel` /Library/Ruby/Site/1.8/rubygems/uninstaller.rb:76:in `uninstall' /Library/Ruby/Site/1.8/rubygems/commands/uninstall_command.rb:73:in `execute' /Library/Ruby/Site/1.8/rubygems/commands/uninstall_command.rb:71:in `each' /Library/Ruby/Site/1.8/rubygems/commands/uninstall_command.rb:71:in `execute' /Library/Ruby/Site/1.8/rubygems/command.rb:258:in `invoke' /Library/Ruby/Site/1.8/rubygems/command_manager.rb:134:in `process_args' /Library/Ruby/Site/1.8/rubygems/command_manager.rb:104:in `run' /Library/Ruby/Site/1.8/rubygems/gem_runner.rb:58:in `run' /usr/bin/gem:21 % /usr/bin/gem list -d mongrel *** LOCAL GEMS *** mongrel (1.1.5) Author: Zed A. Shaw Rubyforge: http://rubyforge.org/projects/mongrel Homepage: http://mongrel.rubyforge.org Installed at: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 A small fast HTTP library and server that runs Rails, Camping, Nitro and Iowa apps. These are not "good approaches" to the problem, they're hacks and they need to be fixed.