Unicornの起動で Run `bundle install`というCould not findなエラーの時
自分の趣味のサイトを
Ubuntu + Nginx + Unicorn + Sinatra
で作っていて、色々なサイトを参考にさせていただいて、Unicornの起動→サイトの表示は下記コマンドで出来るようになりました。
bundle exec unicorn -c [app名] -D
でも再起動するたびにこのコマンド入力するのは正直めんどくさい。
だから/etc/init.dに起動スクリプト書いて、Unicornの自動起動にされている方がほとんどです。
(参考)
それで僕も真似してしてみるんですが・・・
起動スクリプト書いて、実行してみたら・・・
Could not find concurrent-ruby-1.1.3 in any of the sources Run `bundle install` to install missing gems.
とか、エラーが出てしまって自動起動は解決できないでいました。
正直全く分からなくて諦めていたのですが
どのページだったのか忘れてしまって紹介できなくて申し訳ないですが、
スクリプトの下記部分、
start() { (省略) su - ${USER} -c "cd ${SINATRA_ROOT_DIR} && bundle exec unicorn -c ${UNICORN_CONF} -E ${SINATRA_ENV} -D ${OPTIONS}" (省略) }
を
start() { (省略) su - ${USER} -c "cd ${SINATRA_ROOT_DIR} && /home/ユーザ名/.rbenv/shims/bundle exec unicorn -c ${UNICORN_CONF} -E ${SINATRA_ENV} -D ${OPTIONS}" (省略) }
したら上手くいきました。
bundle exec の bundleをフルパス指定するだけでした。