Question

Rails one-click droplet unicorn is failing to find a gem; I can't tell if the right version of the gem is installed.

Posted May 31, 2017 3.6k views
Ruby on RailsUbuntu 16.04

My production app has been running for a while. Then yesterday I did a git pull that changed four files and my site stopped loading.

The culprit appears to be unicorn failing to run properly.

No matter what I do, unicorn endlessly crashes and respawns with the following error:

I, [2017-05-31T15:01:10.470158 #3601]  INFO -- : worker=0 spawning...
I, [2017-05-31T15:01:10.471573 #13738]  INFO -- : worker=0 spawned pid=13738
I, [2017-05-31T15:01:10.471847 #13738]  INFO -- : Refreshing Gem list
E, [2017-05-31T15:01:10.499302 #13738] ERROR -- : Could not find i18n-0.8.4 in any of the sources (Bundler::GemNotFound)
/usr/local/rvm/gems/ruby-2.4.0/gems/bundler-1.14.6/lib/bundler/spec_set.rb:87:in `block in materialize'
...

Yet running bundle install shows that i18n-0.8.4 is present in my installed gems list.

I’ve run down the rabbit hole trying to un/reinstall the gem. It always reports success with the correct version number.

But If I physically list the gems in my gem path, the directory is titled i18n-0.8.1.

After a successful uninstall, directory remains in place with the wrong version number. Same with after a reinstall reporting the correct number is installed.

In my attempts to flush the gemset with rvm, I’ve managed to break my rails user permissions to gem/bundle install install so that I now have to sudo to get them to run without permissions errors.

And still unicorn can’t find the right gem so my site refuses to load.

Can anyone help?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
3 answers

@jcspampinato

Try listing your gems:

gem query --local

or

ruby -e 'puts Gem::Specification.all_names'

Same problem and no solution

Same problem here. Have anyone found a solution to this?

Submit an Answer