From: Joshua Haberman Date: 2005-10-03T09:47:26+09:00 Subject: Re: why can't Ruby load .gem files directly? --Apple-Mail-6--330612629 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed On Oct 2, 2005, at 5:06 PM, Austin Ziegler wrote: > On 10/2/05, Joshua Haberman wrote: > >> On Oct 2, 2005, at 4:00 PM, Austin Ziegler wrote: >> >>> I also believe that the *right* way for package management >>> systems to >>> work with RubyGems is to *use* RubyGems and the facilities it offers >>> (or will offer) to install gems. >>> >> Why? >> > > Because RubyGems offers several features -- package and API version > management, easy package install/uninstall, etc. API version management is great. But you don't need to use "gem install/uninstall" to reap the benefits of it. The package install/uninstall are only easy if your system setup matches the assumptions implicit in the design of the "gem" command. >> There are many cases where "gem install" is not suitable, but "tar >> xf" is. >> > > I'd love to know one, for a .gem. Seriously. - you want to install Ruby and a bunch of gems onto a software partition that will be mounted read-only from tens or hundreds of nodes. - you want to create a rescue disk image that will be mounted read-only. - you want to create an image that will be installed onto an embedded device's ROM The philosophy inherent in "gem install" -- that I am going to "install" the gem on any machine that will ever run it, and I will have write access to do so -- is narrow and brittle. > There's absolutely *no* > advantage to untarring a gem, and (IMO) serious disadvantages. Why > would > you even think about forgoing what RubyGems offers? Until you understand the answer to this question, you will not understand the opposition to your current plans. The answer is: the things that RubyGems offers are not appropriate in every circumstance. It is great to make things easy for the common case, but you've got to make them possible for the unusual case as well. Ruby's packaging system needs to be a tool that skilled programmers can use to fit their needs, not a policy layer that demands you do things "the gem way." I'm not opposed to the existence of "gem install/uninstall." I am opposed to any attempt to force people to use gem install/uninstall if it is not appropriate for their situation. Josh --Apple-Mail-6--330612629--