On Tue, Apr 14, 2009 at 11:57 PM, Jacques Crocker <[email protected]> wrote: > > Merb bundler currently has a few issues with upgrading either the merb > or datamapper version numbers. There's a circular dependency issue in > there somewhere. > > For a temporary workaround, open up taks/merb.thor/main.thor and find > the "def confirm" method. I went ahead and commented that out, and > things have been working fairly well for me since then. > > I'm hoping to add some major improvements in the merb bundler for 1.1. > This includes choosing the source per dependency, better dependency > tracking, and a way to install gems locally (hybrid of gem:redeploy > and gem:install). > > I'll be working with Yehuda next week on getting these changes merged > in
I applied Jacques' patch and it has helped. However, the process of upgrading gems is still far from straightforward. There are still circular dependency issues that crop up if the the gem/gems directory and gems/cache are inconsistent. In truth though, managing gems has become a bit of an art form, as (unless I'm going prematurely senile) I can't seem to consistently reproduce either errors, or a resolution to errors. But I've seen strange permissions errors (for instance with ParseTree), and struggled to get rid of Merb.root / .original_gems when things are in an inconsistent state. I've found the best approach with trying to upgrade gems, and avoid circular dependency hell, is to 1. apply the patch above -- comment out the confirm method 2. go slowly: change one dependency (or group of dependencies) at a time.. 3. to an upgrade a gem to the latest version, but where you haven't specified an explicit version in config/dependencies.rb, you need to delete gems/cache/gem-name.gem and gem/specification/gem-name.gem. Then run ./bin/thor merb:gem:install gem-name. You'll get an error about being unable to uninstall the gem (because the specification isn't found; however, if you keep the specification around you can't install the latest version). Delete the gems/gems/gem-name directory, and then run ./bin/thor merb:gem:install gem-name again. Alex --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "merb" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/merb?hl=en -~----------~----~----~----~------~----~------~--~---
