From: Lloyd Zusman Date: 2005-06-21T08:23:06+09:00 Subject: Re: Confusion about gems and non-gems working together. Chad Fowler writes: > Hi Lloyd! Hi Chad! :) > [ ... ] > >> I now think that I might have figured out what is going on for me: >> >> In all the cases where I had these problems, I had non-gem installs of >> earlier versions of the packages. In many cases, it seems like code >> inside of files associated with these earlier versions would get >> executed instead of the code that the newer gem would use. >> >> [ ... ] >> >> Has anyone else experienced anything like this? If so, how did you >> handle it? >> > > I haven't, but I don't use non-gem libs much anymore. Could you give > a specific example? I think it might be instructive. As long as the > gem version of the library is before the non-gem version in the load > path (which it should be), you should get the gem version of the lib. > Since that's obviously not the way it's working for you, it would be > great to hear some specifics. Well, prior to receiving this message of yours, I had fixed all occurrences of this problem by manually deleting the non-gem versions of the offending packages. Therefore, it's hard to reproduce now. However, one case I recall clearly where I had consistent problems was when I first installed the gem version of wee. I had installed an earlier non-gem version, and until I deleted that, I couldn't even get the gem install to work. My messages about this problem should be in the archives of this mailing list, although that was before I thought of the possibility that the non-gem version might be interfering with the gem. >> [ ... ] If so, how can I find out what is the exhaustive list of >> files and directories to remove for a given package? >> > > That's part of the problem pre-gems. There's no nice, repeatable way > to do this. If you've got the original tar file lying around, you can > look at it's contents and remove files that seem to have been > installed by it. [ ... ] Yes, that's what I have done during the manual uninstalls that I mentioned above. > [ ... ] Even then, you'll probably want to use a checksum of some > sort just in case installations of later libs over wrote files of the > same name (which you might still be depending on). I didn't do that in this case. I hope I don't get bit. >> This brings up a suggestion: could the gem installer check for >> previously installed non-gem versions of the package in question, and >> then ask the user if he/she wants to optionally delete them as part of >> the gem install? [ ... ] >> > > I'll add it to our list. It would be hard to do cleanly and reliably, > but as an optional user-verifiable setting, it wouldn't be too > terribly evil. As I mentioned earlier, I would find it amply useful, and I'm sure that I'm not the only person. -- Lloyd Zusman ljz@asfast.com God bless you.