Hi Fred,

On Tuesday, January 6, 2015 9:06:25 AM UTC-8, Frederick Cheung wrote:
>
> bundler makes sure only the gems (and the specific versions) listed in 
> Gemfile.lock are loaded which avoids all sorts of dependency based 
> problems. However if you just run `rake`, then the most recent version of 
> rake is run. A few milliseconds boot.rb loads bundler, and if bundler finds 
> that gems have been loaded  that don't match the version bundler wants to 
> use then it aborts (since one a gem has been loaded you can't unload it and 
> load a different version)
>
> When you run something with bundle exec, it ensures that only the gem 
> versions in your Gemfile.lock are specified.
>
> You can use http://mpapis.github.io/rubygems-bundler/ which ensures that 
> the executables installed for rake etc. load bundler first. You can also 
> use the bin stubs in your app's bin folder .
>

Thanks very much for the explanation. Quite clear and now I think I 
understand to a much higher degree.


I seem to recall the passenger knows to load bundler if a Gemfile is 
> present - i don't recall ever having to do something specific for this.
>

Your recollections agree with other sources, so there is something 
mysterious on my machine, and I'm willing to blame SELinux. I should have 
dropped SELinux and tested, but it didn't occur to me until I had already 
solved my problem by "gem install"ing the same version of rake and rack 
that the bundle had, thereby obviating the version problem -- in this case.

Thanks for the help,

Chris.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/019822ca-5d57-440f-9238-a372af215d27%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to