結構環境によって対処法が変わるので雑な感じのメモ
遭遇した状況
- ログインしているshでは上手く行くのに、cronで実行すると失敗する
- 実行していたのは
bin/rails
から始まる rake タスク
原因
gemや実行したいコマンドの実行パスが通っていないのが原因
解決策
パスを通してあげる。お手元のshでできている場合はその起動profileで実行パスを通せているということなので、能動的にそれらを実行してあげれば大体できるようになる。たとえば、実行するシェルファイルに下記の記述を書き足すだけで動くようにになったりする。
. /etc/profile