MacOSの上に新しいシェルの起動時間は、彼らのために遅すぎるという結論に来る人にとって、これは解決策。
を介してインストールできるパッケージが実際には2つあることを発見しましたbrew
。私はbash-completion
何年もパッケージをインストールしてきましたが、その間はBash 3から4に、そして今では5に移行しましたが、問題に悩むことはありませんでした。 、このまさにStackOverflowの議論にしばしば出くわします。
別のパッケージがありますbash-completion@2
!
違いは何ですか?bash-completion
Bashバージョン3.2用です。bash-completion@2
Bashバージョン4.1+および5用です。
古いbash-completion
パッケージを削除してインストールするbash-completion@2
と、シェルの起動時間が605ミリ秒から244ミリ秒に短縮されました。これは速度の大幅な改善です。
brew info
統計によると、前者には大量のインストールがあり、後者にはほとんどないことが示されているため、私たちの多くがこれと同じ間違いを犯していると思われます。

現在選択されている答えは、いくつかの行をコメントアウトすることに言及していることに注意してください。これは、起動時間をわずかに改善するだけです(bash-completion
おそらく古いパッケージを使用している場合が多いでしょう)が、新しいbash-completion@2
パッケージにはまったく影響を与えません:この新しいパッケージ何があっても速い つまり、ハッキングは必要ありません。
TL; DR:
brew uninstall bash-completion && brew install bash-completion@2
.bashrc
または.bash_profile
ファイル内の完了ファイルへのソースパスを更新することを忘れないでください。
ソース:
ある程度関連するトピックとして、私はrclone
ユーティリティを頻繁に使用するため、インストールされています。また、私が今まで見た中で最大の補完ファイルを持っていることがあります。これを削除すると、シェルの起動時間が約120ミリ秒に短縮されます。これは非常に高速です。
編集:
この問題を説明する技術的な詳細が必要な場合は、Homebrewフォーラムで詳細に書いています。要約するbash-completion@2
と、非常に高速である理由は、すべての完了ファイルを熱心にロードしないように作成されているためです。代わりに、完了ファイルをオンデマンドでロードするか、作成者が説明しているように、非熱心な方法でそれらをロードします。