Starshipの起動ができなくなり.zshrcを見直した話
Starshipとは
Starshipとはシェルのプロンプト。
- 「互換性優先」
- 「Rust製」
- 「カスタマイズ製」
といった三拍子を掲げており、パフォーマンスやカスタマイズ性に優れている。
公式サイト
macOSでHomebrewを使っていれば以下のコマンドですぐにインストールできる。
$ brew install starship
インストールしたあとに設定プロファイル.zshrc
に次の一行を追記するだけで使える。
$ eval "$(starship init zsh)"
とても簡単。
アップデート後 急に起動しなくなる
Starshipを今まで起動できていた環境でうまく起動することができなかった。
.zshrc
の一番下に初期化処理を記述しているが起動するのはZshのデフォルト表示。
急に起動しなくなったため、数日ほどデフォルトで使用することに。
.zshrcの内容を見直す
.zshrc
の内容を見直してみる。
気になったのは先頭にある以下の記述
# Set up the promptls
autoload -Uz promptinit
promptinit
prompt adam1
この記述はZshをシェルの設定にしたときにおすすめの設定として生成されたものからそのまま抜粋したもの。
調べたところこの記述はテーマをセットアップするためのよう。
参考記事
adam1
というテーマの指定と、初期化処理を行っている。
Promptはテーマ切り替えることができ、prompt -p
でテーマをプレビューできるとのこと。
$prompt -p
使用できるテーマがずらりと表示される。prompt
のあとに切り替えたいテーマの名前を入れることでテーマを切り替えることができる。テーマを変更してもシェルにログインするたびにもとのテーマをに戻る。
そこで上の記述を見直すと、2行目で初期化して、3行目でadam1
というテーマを設定していることがわかる。
.zshrcを修正
Starshipでシェルの見た目を書き換えるので、上部3行のPrompt初期化処理はコメントアウトする。
# 以下をコメントアウト
# Set up the promptls
# autoload -Uz promptinit
# promptinit
# prompt adam1
~
eval "$(starship init zsh)"
Starshipの初期化処理がうまくいくようになった。
まとめ
初期設定でおすすめされた設定で運用してきたが、.zshrcの設定について理解できていないところがあり問題解決に時間がかかってしまった。シェルの初期化処理についてどのようなことが行われているのかを理解してからシェルのカスタマイズをしていくのがよさそう。