Closed yasinishyn closed 11 years ago
Your Gemfile and Gemfile.lock look OK. The information above is indicative of a problem with Ruby or Bundler in production. I can't tell exactly what's going on, but it seems that Unicorn runs in a Ruby environment different than the one you ran bundle install
with.
It shouldn't be hard to debug this. From your applications directory on the server, run:
gem env
bundle show will_paginate
script/rails runner -e production 'WillPaginate'
The first command shows you information about Ruby version, RubyGems version, installation paths for gems etc. The next command shows you where will_paginate got installed physically by Bundler. The last boots up Rails and confirms that will_paginate has loaded (it will error out if not).
The next step is to ensure Unicorn runs in that same environment (same Ruby version, most importantly). Start from the /etc/init.d/unicorn_YOUR_APP
script and see how things are set up.
I won't help you further setting up your server because that's your job. Good luck!
Thank you alot, for your answer. You are right Mislav , on my VPS I'm using ruby 2.0.0 and in local environment 1.9.3. But after all, why only will_paginate ?? all other gems are installing and working properly. So I change local ruby to 2.0.0-p0 as on server, run script/rails runner -e production 'WillPaginate' (with no error), and still a have this error. You were right, it is "hard to debug this".
Finally the long sleepless night is over. The recipe is: gem update --system (on both: server and local machine) update local ruby version, to ruby version as on server, or vice versa cap deploy:setup (don't now if it is necessary, but it works for me) cap deploy && cap deploy:restart and BAMM, it works.
I'm using will_paginate gem for ajax-like "see-more" link. It works in development but fails in production.
In my production log I get:
I've tried, in root of production app to type:
and get:
cap bundle:install don't fails installing will_paginate on my VPS, but when I tried to explicitly require 'will_paginate' it steel works in development and fails in production, but this time the whole site, not only action in which I've used will_paginate. This requiring triggered an error in unicorn.log:
So I think that will_paginate don't instals his directories on my VPS properly wih bundle install, but why?
I tried to type:
and there where no will_paginate. So I explicitly, in my current app dir. gem install will_paginate and that also didn't resolve the issue.
So I gem uninstall will_paginate and "cap deploy" again after I again gem list and again there where no will_paginate Gemfile:
deploy.rb
Can anyone help me with this issue?
Or maybe Someone knows how to explicitly add all files, needed for will_paginate, to rails app.? So it will work without gem will_paginate
I tied to:
and in the list a find will_paginate (3.0.4). It means that it is installed but not for my app?