遭遇した現象
github-repos というAlfredのworkflowを入れてみたものの、
gh 検索したいrepo
などと入れてみてもうんともすんとも結果が返ってこない
環境
- macOS 10.14.6
- Alfred 4
- Ruby(System) 2.3系
- 日頃使っているシェル: zsh
- 日頃使っているrubyのバージョン管理: rbenv
原因
github-reposが必要としているrubyのバージョンでスクリプトが実行されていなかった。
スクリプトの実行はシバン付きで実行されるので
実行時のシェルの状況を調査した。
このようにimportしたての状態だと /bin/bash
で実行される。
筆者はbash環境にrbenvを通していなかったので、systemのruby(2.3)が実行されてしまった。
このworkflowは2.5系以上が必須のようなので、rbenv global
を 2.5系以上にした状態で、
実行されるシェルスクリプトの環境下でrbenvを有効化すればよい
対処(筆者の場合)
bashのことはよくわからないので、github-reposのworkflowファイルを手でいじって、
それぞれのコマンドのlanguageの部分を /bin/bash
から /bin/zsh
に変えて回った。
ただ、~/.zshrc
に eval "$(rbenv init -)"
してあるため、
直接zshを実行されるとこれが評価されない。
そのため、
/etc/zshenv
に以下を記述することで、zshを直接実行された時でもrbenvが有効になるようにした。
eval "$(/usr/local/bin/rbenv init -)"