В macOS я хочу, чтобы мой .zshrc
автоматически добавлял текущее местоположение исполняемых файлов ruby gem в переменную $ PATH.
В настоящее время я просто делаю:
if [ -d "/usr/local/lib/ruby/gems/2.6.0/bin" ]; then
export PATH="/usr/local/lib/ruby/gems/2.6.0/bin:$PATH"
fi
Но этоне очень перспективно на будущее, не так ли?Например, при следующей установке macOS версия Ruby может отличаться.
Я знаю, что можно получить правильный каталог с помощью:
$ gem env
. . .
- EXECUTABLE DIRECTORY: /usr/local/lib/ruby/gems/2.6.0/bin
. . .
Так что я изменил свой сценарий так:
GEMS_DIR=${"$( gem env | grep 'EXECUTABLE DIRECTORY' )"#" - EXECUTABLE DIRECTORY: "}
if [ -d "$GEMS_DIR" ]; then
export PATH="$GEMS_DIR:$PATH"
fi
Это работает сейчас.
Но вопрос в том, есть ли лучший способ?Предпочтительно тот, который не будет зависеть от конкретного форматирования вывода gem env
, который, я ожидаю, может измениться?