Xcode の Run Script Phase で rbenv が効いておらず困っていたが、解決できたのでメモ
- Run Script Phaseから
PATH
環境変数に~/.rbenv/shims/
を追加すれば良い。 - ただし、直接
~/.rbenv/shims/
を参照するとrbenvに依存してしまう。rbenvは透過的であってほしいのにrbenvに依存してしまってよくない。 - そこで dependency inversion を行う. Run Script Phase は
.xcode-env
というスクリプトを呼び出すようにして、.xcode-env
は各システム環境で用意する. rbenvを使うべき環境では.xcode-env
の中で~/.rbenv/shims/
を参照する - やりたかったこと: fastlaneを(rbenv経由で) 走らせたい
.zshenv
等でPATHを編集すれば効くかなと思ったらRun Script Phaseの中では効かなかった- 下記の記事を参考にした: https://gist.github.com/vyder/2386a03affba03dadb2bc7c3f0bf7b8a