Hacker News new | past | comments | ask | show | jobs | submit login

What's the extra step to know with Bundler? I learned it in --- not exaggerating --- under 5 minutes. It took longer to run than to learn.

Now, instead of typing looking up the list of gems I need to install and then typing a bunch of gem commands, I copy my skeleton Rails Gemfile (which is literally just a list of gems with "get them from gemcutter" at the top), type "bundle install bundle", and I'm absolutely done.

You seem to be dodging 'mechanical_fish's point: Bundler improves the process. It isn't "more"; it's "better". They should have just called it Gem 2.0.




For the most part, I don't mind bundler, but I think it's too early to say it's overwhelmingly and only an improvement.

I can think of two cases where it concerns me:

1) I'm now supposed to type, for example, `bundle exec spork` instead of simply `spork`. This is extra typing, an extra thing for me to remember and it causes binaries to load/launch/start more slowly. (Yes, I've timed it.)

2) Bundler seems to break things in odd, hard to debug ways. I hang out a reasonable amount in #rvm on Freenode, and not an hour goes by that someone doesn't come in with a complex, hard-to-solve issue involving rvm, bundler, $LOAD_PATH and I don't know what else.

I admit that (1) is maybe somewhat petty, and (2) is probably not all bundler's fault. Still, I continue to have very mixed feelings about bundler. (My current compromise is that I only use it for Rails apps.)


Bundler is designed for its primary use case: web apps.

(1) is acceptable for web apps because they need to start once and stay alive until the next redeploy. Granted, the starting time is pretty stupid for desktop apps and even command line apps like the RSpec runner, but as people have already mentioned web app developers who deploy on Debian are the biggest part of the Debian Ruby userbase.

(2) shouldn't ever happen. Bundler is designed exactly to avoid inconsistent breakages, e.g. breakages that happen in production but not development. Bundler guarantees that things fail in the same way in any environment. If something fails then that means you're missing an entry in your Gemfile. I'd like to have a look at your problem.


(2) wasn't my problem; it's problems I've seen (repeatedly) in irc, as I said. For some (random) examples of people with issues related to bundler (ghost gems, gems that can't be found though bundler itself installed them), see the last handful of posts on this thread: http://yehudakatz.com/2010/09/30/bundler-as-simple-as-what-y...

As for the primary use case being web apps, I suppose that makes sense, except... Except that the Ruby community (or large parts of it, at least) are now suggesting that all Ruby development be done using bundler. And bundler itself also includes a jeweler-like/hoe-like tool to jump-start new gems.

I don't want to overdo it: I don't vehemently object to bundler, but it's size, dependency chain, strong opinions and (to me at least) apparent desire to take over the gem ecosystem make me a little worried.


> Except that the Ruby community (or large parts of it, at least) are now suggesting that all Ruby development be done using bundler.

I don't agree with that either. I think that there are legit as well as illegitimate use cases and that people don't always understand which is which. That said, I don't think it's any reason to dismiss Bundler.

I believe the core of Bundler - the multiple gem activation algorithm - should be part of RubyGems itself. If that is part of RubyGems then it would take away the need to use Bundler for many non-web app projects.


"Bunder: as simple as you did before" : http://yehudakatz.com/2010/09/30/bundler-as-simple-as-what-y...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: