zshをプロファイリングして遅いシェルを修正する
原文は Ellie Huxtable により に公開されました。 このブログを購読する
しばらく前からzshの起動がちょっと遅くなっていた。そこまで深刻に困るほどではないが、ずっとそのうち何とかしなければと思っていた。Thorsten Ballがこの件について素晴らしい記事をこちらに書いている。ずっと靴におもりをつけたまま走っていたのかもしれない!
最近、atuin initコマンドをいじっていた。これはシェル起動時に実行されるものだ。高速であることを確認したいし、誰のシェルも遅くしたくない。
やったことは次のとおりだ。
.zshrcの先頭にzmodload zsh/zprofを追加する- 同じファイルの末尾に
zprofを追加する
新しいシェルを開くと、zshがどこで時間を使っているかを示す便利なテーブルが表示される。

犯人はnvmだというのは一目瞭然だ!ちょっとググってみると、これに気づいたのは自分が最後のほうだったようだ。お恥ずかしい。
修正する
nvmはそれなりに頻繁に使っているので、ちゃんと直すことにした。
遅延読み込み
zsh-lazyloadを使えばコマンドを遅延読み込みできる!これで、実際にnvmを使うときだけ遅いnvmのコストを払えば済む。悪くない。
READMEの手順に従ってプラグインをインストールし(自分はzplugを使った)、それから
lazyload nvm -- 'source ~/.nvm/nvm.sh'を.zshrcに追記する。これで完了だ!
代替手段
最近は他にもいろいろな選択肢がある。asdfやmiseを使ってみようか迷っているが、自分にどれが一番合うかはまだ検討できていない。
記事をランダムに読む
コメント
ログインしてコメントする