mixiユーザー(id:7593622)

2020年01月31日22:01

529 view

macOS Catalina launchd での定期バッチ処理起動に失敗する(続き2) 解決できたっぽい

PATHの設定に、新環境には無い rbenv 用の記述が残っていて、存在しない実行ファイル(シェルスクリプト)を実行しようとしたための模様(実際のところは、PATH で最初に見つかる「ruby」シェルスクリプトは存在するものの、その中で更に呼び出される「rbenv」シェルスクリプトが存在しなかった)。

PATH は、実行内容を記述する plist で
 <key>EnvironmentVariables</key>
 <dict>
  <key>PATH</key>
   <string>/Users/user1/.rbenv/shims:/Users/・・・</string>
 </dict>
としていたけれども、このあたまのヤツ(/Users/user1/.rbenv/shims)のところにある、「/Users/user1/.rbenv/shims/ruby」は存在するけれども、この中から呼び出される「/usr/local/Cellar/rbenv/1.1.1/libexec/rbenv」は、(インストールしてないので)いませんでした、と。

旧環境では、rbenv の環境だったけれど、新環境はmacOS標準の ruby をそのまま使っているので、これが無い。

この PATH 設定は、.bash_profile に書いている、
 if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
で追加されると思うのだけれど、ターミナルから手動実行時は、たぶん、rbenv 環境じゃないので、この PATH が追加されないと思われる。
plist は明示的に PATH を書かないといけないので、上の記述を直接書いていて、それをそのまま旧環境から持ってきていた(なので、launchd での定期起動には失敗するけれど、この定期起動で実行するファイルを手動で実行する場合は成功していた)。
0 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する

<2020年01月>
   1234
567891011
12131415161718
19202122232425
262728293031