Unable to start unicorn as a service

Posted October 29, 2014 14.3k views

I used the 1-Click Ruby on Rails on Ubuntu 14.04 Image and this guide to setup my rails app: .

However, I downgraded to ruby 1.9.3 using rvm. I also removed the other ruby versions as they appeared to give me some issues.

I’m able to to manually start unicorn using the following command in my rails app root directory:

bundle exec unicorn -D -E “production”

However, when I try to start the unicorn service I receive this error:

service unicorn start

 * Starting Unicorn web server unicorn           
    /usr/bin/env: ruby_executable_hooks: No such file or directory

I’m logged in as root.

I would like to be able to get the service to work so that unicorn starts on reboot.


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.

Submit an Answer
3 answers

Since you downgraded your version of Ruby, you’ll need to update the Unicorn configuration as well. Edit the file /etc/default/unicorn and change the values for the environmental variables to match the path found by running which ruby:

export GEM_HOME=/usr/local/rvm/gems/ruby-2.1.3
export GEM_PATH=/usr/local/rvm/gems/ruby-2.1.3:/usr/local/rvm/gems/ruby-2.1.3
  • I already edited my /etc/default/unicorn . My which ruby is:


    My /etc/default/unicorn is below. Do I need to add “ruby” at the end of my paths?

    export GEMHOME=/usr/local/rvm/gems/ruby-1.9.3-p547
    export GEM

In case it helps, we had the same issue after downgrading Ruby (and changing /etc/default/unicorn appropriately). Never figured out why this was a problem, but editing the first line of the unicorn executable to include the full path to rubyexecutablehooks fixed it.

In our case, change the first line of /usr/local/rvm/gems/ruby-2.1.0/bin/unicorn from this:

!/usr/bin/env rubyexecutablehooks

to this:

!/usr/bin/env /usr/local/rvm/gems/ruby-2.1.0/bin/rubyexecutablehooks

  • Thank you! This did the trick for me. I don’t know how long it would have taken me to figure this out. This Ruby version unwinding is a real pain.

Hey @asb @nurelm @V9lerie @fnllc - in my upgrade from ruby 2.0.0 to 2.3.3, I lost the file that was at /usr/local/rvm/gems/[ruby-#.#.#]/bin/unicorn.

My current issue is that my /etc/default/unicorn file references that file in the DAEMON=/usr/local/rvm/gems/ruby-#-#-#/bin/unicorn line.

Could I ask one of you to paste yours?