ruby実行時エラー「ruby : command not found」はcrontabでrbenvのパスが通っていなかったから

ruby実行時にエラー「ruby : command not found」となりました。

実行は手実行だとうまくいくのですが、crontabからだとこのエラーになってしまいます。

これについて調べたので記録しておきます。

以前構築したrbenv環境はこちら。

http://normalblog.net/system/rbenv/install/

スポンサーリンク

原因

rbenvにのせたrubyを使う為のパス設定を~/.bash_profileにしておりました。

これがcrontabからの実行だと読まれないようです。

更に、/usr/binにインストールされていなかったので、rubyなんてないとなったわけです。

対応方法

  1. rbenvを使わずにrubyを普通にインストールする。
  2. crontabにbashとして実行する

と思いました。(参考サイト様を見ると他にもありました。)

1.はちょっとやめておきたいので、2.を採用しました。

これでcrontabから動かしても~/.bash_profileが読み込まれてruby(rbenv)へのパスが通りました。

参考サイト様

http://blog.livedoor.jp/sonots/archives/33204053.html

http://yamitzky.hatenablog.com/entry/20120718/1342630696