From: Curt Hibbs Date: 2003-12-24T22:40:42+09:00 Subject: Re: RubyGems and dependencies Phil Tomson wrote: > Joey Gibson wrote: > > > >This is the situation I tried to point out at RubyConf that I'd seen with > >RedHat's rpm package manager. Namely that if I've already installed a > >piece of software, without using the package manager, what will happen > >when I try to install something else that _does_ use the package manager? > >I don't really know how to solve it unless you can fake out the package > >manager (gem-thingy) or have the gem producer provide some sort of test > >that the gem-thingy can use at install time to check for the existence of > >a piece of software that was installed manually. Maybe a > filename/pathname > >that it can check for as a last resort if the gem for a needed something > >isn't found. > > Something like: > > #let's see if they've already got rexml: > begin > require 'rexml' > rescue MissingPackage #or whatever it's really called > #it's really not here, so go look for one to download > ... > else > #it is here already, maybe check out the version somehow > #otherwise everything should be OK > end This is too simple. RubyGems should also check that the proper version is installed. I think that RubyGems should optionally allow the user to inform it of a manual installation when a gem is not found, prompting the user for the need information (like version number installed). That particular gem would then be entered into its gem-database as having been installed manually for future use. Correspondingly, there should be an option to remove such a manual-installation-entry from the RubyGems database. Curt