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をフルパス指定するだけでした。

こういう起動スクリプトの作り方もあったのかと思ったサイト


こういうブログもありました。

人気のあるブログ:

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください