Macのターミナルをbashからzshに更新できないときの対処法

※当サイトは、アフィリエイト広告を利用しています

bashからzshに更新できない。 アプリ開発奮闘記

Flutterを学習する上で、低レベルな話ですが、本気で詰まったので対処法を共有します。

 

Flutterそのものとは関係ありません。。

 

MacのOSをCatalinaにアップデートしたら、ターミナルにあれこれメッセージが出てるんだけど、どうしたらいいの?

 

という話です。

 

結論は、

 

  1. メッセージのとおり、素直に`chsh -s /bin/zsh`を実行
  2. ただし、その後でターミナルの再起動が必要

 

になります。この再起動の部分がわからず、結局ググることになりました。

 

以下に、調べた過程を記しておきます。

 


40代からプログラミング(Flutter)を始めて、GooglePlayAppStoreにアプリを公開しているhalzo appdevです。

 

作成したアプリはこちら↓ 全てFlutterで開発したアプリです。

 

「The default interactive shell is now zsh.・・・」というメッセージが出ている

自分のPCはMacBookですが、Flutterのパスを通すときに、ターミナルを立ち上げる必要がありました。

 

恥ずかしながら、ターミナルはここ何年も立ち上げておらず、久しぶりに開いたのですが、数ヶ月前にOSをCatalinaにアップデートしたので、その影響かと思いました。

 

ターミナルに出ていたメッセージは以下です。

 

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.

 

ざっと訳してみると、

 

  • 今のデフォルトのシェル(文字による対話型で命令を聞いてくれる仕組み、ぐらいの理解w)は、zshだよ
    →zshって何?(感想)
  • zshにアップデートするには、「chsh -s /bin/zsh」を実行してね
    →ターミナルにそう打てばいいってことなのかな、、、
  • 詳しくは、「https://support.apple.com/kb/HT208050」をみてください
    →めんどくさい、、見たくないな、、、

 

という感じです。

 

自分のターミナルの上部は、下図のような感じで「bash」と書かれています。

 

bashの状態のターミナル

 

どうやらターミナルのバージョン的なものを更新しないといけないのかな、ということはわかりました。

 

そもそもbashやzshって何?

これは後で調べて分かったことですが、

 

zsh (Z シェル) は、macOS Catalina 以降で新規作成されるすべてのユーザアカウントのデフォルトシェルです。

bash は、macOS Mojave 以前のデフォルトのシェルです。

Apple サポートページ https://support.apple.com/ja-jp/HT208050

 

とのことです。

 

これはターミナルに出ていたメッセージのリンク先(Appleのサポートページ)に書かれていました。

 

ただ、この時点では、「めんどくさい」と思ってしまったので、このリンク先は見ておらず、多少ググって、

 

なんとなく古いのがbash、新しいのがzsh

 

が分かった程度でした。

 

とりあえずzshの方が新しいのなら、そっちにした方が良いだろうと思い、zshに変更することにしました。

 

メッセージどおりやったけど何も変わらない、、、

どうやら更新するには、メッセージにある「chsh -s /bin/zsh」を実行しなさい、ということなので、やってみることにしました。

 

初心者はこういうのも慣れないので怖いんですが、、、勇気を持って打ち込むと、、、

 

以下のようなメッセージが出て、パスワード入力を求められました。

 

mb:~ xxxxxxxxx(アカウント名)$ chsh -s /bin/zsh
Changing shell for xxxxxxxxx(アカウント名).
Password for xxxxxxxxx(アカウント名): 

 

言われたとおりパスワードを打つと、何度やっても

 

何も変わらない、、、、

 

ターミナルの上部の表示も「bash」のままです。

 

「ターミナルを再起動」が必要だった

「結局ググるしかない」と、あきらめつつ調べると、下記記事を挙げてくださっている方がいました。

 

 

それを見ると、最後にターミナルを再起動したとの情報が!

 

結局ターミナルを一度落として再起動したところ、無事「zsh」に更新されていました。

 

zshに更新できたターミナル

 

学んだこと

教訓は、以下のとおりです。

 

  • ターミナルに出ているメッセージをスルーしてはいけない。その通りやるのが近道(命令の実行やリンク先の確認)
  • なにかと再起動しないと反映されないことがある
    (その後、別の様々な所でツマづいたときにも経験しました)

 

以上、大変初歩的な内容で恐縮です。

 

最後までお読みいただき、ありがとうございました。

 

個人アプリ開発で役立ったもの

おすすめの学習教材

超初心者向けでオススメな元Udemyの講座/

 

 \キャンペーン時を狙えば安価で網羅的な内容が学べる(日本語訳あり)/

 

\Gitの基礎について無料で学べる/

 

おすすめの学習書籍

実用的image_pickerに関してかなり助けられた/

 

Dartの基礎文法を素早くインプットできる/


Dart入門 - Dartの要点をつかむためのクイックツアー

コメント

タイトルとURLをコピーしました