Closed5

Starshipの起動ができなくなり.zshrcを見直した話

あーるあーる

Starshipとは

Starshipとはシェルのプロンプト。

  • 「互換性優先」
  • 「Rust製」
  • 「カスタマイズ製」

といった三拍子を掲げており、パフォーマンスやカスタマイズ性に優れている。

公式サイト
https://starship.rs/ja-jp/

macOSでHomebrewを使っていれば以下のコマンドですぐにインストールできる。

$ brew install starship

インストールしたあとに設定プロファイル.zshrcに次の一行を追記するだけで使える。

.zshrc
$ eval "$(starship init zsh)"

とても簡単。

あーるあーる

アップデート後 急に起動しなくなる

Starshipを今まで起動できていた環境でうまく起動することができなかった。

.zshrcの一番下に初期化処理を記述しているが起動するのはZshのデフォルト表示。
急に起動しなくなったため、数日ほどデフォルトで使用することに。

あーるあーる

.zshrcの内容を見直す

.zshrcの内容を見直してみる。

気になったのは先頭にある以下の記述

.zshrc
# Set up the promptls
autoload -Uz promptinit
promptinit
prompt adam1

この記述はZshをシェルの設定にしたときにおすすめの設定として生成されたものからそのまま抜粋したもの。

調べたところこの記述はテーマをセットアップするためのよう。

参考記事

http://ymorimo.hatenablog.com/entry/20060529/1148914912

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の設定について理解できていないところがあり問題解決に時間がかかってしまった。シェルの初期化処理についてどのようなことが行われているのかを理解してからシェルのカスタマイズをしていくのがよさそう。

このスクラップは2021/03/29にクローズされました