1. HOME
  2. »
  3. プログラミング・Web
  4. »
  5. ターミナル
  6. »
  7. zsh のインストール方法と、うまく起動しない時の対処法。

zsh のインストール方法と、うまく起動しない時の対処法。

かっこいいものが大好きな@It_is_Rです。

そこで今回は、ターミナルをかっこよくする為の方法を、何回かの記事に分けて書いてみたいと思います。
今回、第一回目は zsh ( Z Shell ) のインストール方法と、うまく起動しない時の対処法について解説します。

zsh のインストール

まずはインストール方法です。
Homebrew を使ってインストールします。

Homebrew をまだインストールしていない人は、Homebrewを使いこなせ!Macへのインストールや使い方。をご覧ください。

インストールは以下のコマンドを実行してください。

$ brew install --without-etcdir zsh

インストールされているかどうかは、

$ brew list

で、確認することができます。

zsh の基本

まずは zsh の基本の使い方を紹介します。
もしも以下のコマンドで正常に動作しない(インストールしたものと違うバージョンが起動するなど)場合は、 zsh がうまくインストールされていない、もしくはPATHが通っていない可能性があります。
PATHに関して、詳しくはこの下のPATHを通すをご覧ください。

zsh に切り替える

zsh に切り替えたい時は、

$ zsh

で、切り替えることができます。

バージョンを確認する

以下のコマンドでバージョンを確認することができます。

$ zsh --version
zsh 5.4.2 (x86_64-apple-darwin16.7.0)

また、 zsh が動いている状態で、以下のコマンドを入力すれば、今動いているバージョンを表示させることができます。

% echo $ZSH_VERSION
5.4.2

終了する

以下のコマンドで終了します。

% exit

PATHについて

PATHを通すとは、コマンドを実行する為のファイルの場所を、パソコンに教えてあげることです。
上で紹介したコマンドがうまく動作しない場合は、PATHが通っていない可能性があります。

PATHを通すことについて、簡単な基礎知識も兼ねて、紹介します。

PATHを確認する

パスを確認するには、以下のコマンドを実行します。

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

このように : を区切りとして表示されます。
ずらっと横並びが見にくい場合は、trコマンドで:\nに変換します。

$ echo $PATH | tr ':' '\n'
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

デフォルトの場合、Homebrewでインストールしたものは、 /usr/local/bin に保存されます。
なので、 /usr/local/bin があるかどうか、確認してください。

/usr/local/bin には、システム標準でないものを入れると覚えておけばいいと思います。

パスの優先順位

パスの優先順位は、最初に書かれているものから順に優先となります。

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

ですと、 /usr/local/bin が一番優先されます。

PATHを通す

もしも /usr/local/bin がない場合はPATHを通してみましょう。
今回は3通りの方法を紹介します。

.bash_profile (ユーザーごと)

まず .bash_profile を使う方法を紹介します。(bashが読み込まれた時に実行されます。)
.bash_profile を使うと、ユーザーごとのPATHの設定ができます。

$ echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile
$ source ~/.bash_profile

これは、 export PATH=/usr/local/bin:$PATH を .bash_profile に書き込む命令です。
実際に、 vi ~/.bash_profile で確かめると、 export PATH=/usr/local/bin:$PATH が追加されていると思います。

(ターミナル起動時に zsh を読み込む設定にしている場合は、この方法は使えません。以下で解説する方法のどちらかを使ってください。)

.zshenv (ユーザーごと)

.zshenv に書き込む方法もあります。ターミナル起動時に zsh を起動するように設定している人は、こちらの方法か、グローバルに設定する方法がいいと思います。

$ echo 'export PATH=/usr/local/bin:$PATH' >> ~/.zshenv
$ source ~/.zshenv

.zshenv は、 zsh を起動したときに読み込まれるファイルです。

/etc/paths (グローバル)

グローバルに設定してしまう方法もあります。

$ sudo vim /etc/paths
Password:

VIM が立ち上がるので、以下のようにします。

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

このように /usr/local/bin を一番上に移動させます。

違うバージョンが起動してしまう場合

zsh コマンドを実行したとき、違うバージョンが起動してしまう場合があるかもしれません。
例えば、Homebrewを使って、 zsh 5.4.2 をインストールしたものの、 zsh 5.2 が起動するといった感じです。

これは、Homebrewでインストールしたものではなく、Macにもともと入っていたものが起動してしまっている可能性があります。
そんな時はPATHの優先順位を変更すると直る可能性があります。

とりあえず、以下のファイルは確認してみてください。

$ vim ~/.bash_profile
$ vim ~/.zshenv
$ vim /etc/shells

先ほども書きましたが、優先順位は先に書かれているものが優先です。
Macにもともと入っているものは、 /usr/bin に、
Homebrewでインストールしたものは、 /usr/local/bin に入ります。(デフォルトの場合)

なので、 /usr/local/bin を優先にすれば、Homebrewでインストールしたものが開かれるはずです。

まず確認するのは .bash_profile や .zshenv に、このような記入はありませんか?
この記入ですと、 /usr/bin が優先されてしまいます。

export PATH=$PATH:/usr/local/bin

/usr/local/bin を優先させたいので、正しくはこうです。

export PATH=/usr/local/bin:$PATH

もう一つ確認する場所は、 /etc/paths です。
これは、上で紹介したように、直してみてください。

それでも見つからない場合は、以下のファイルも見てみましょう。

$ vim ~/.bashrc
$ vim ~/.zshrc

起動を zsh に設定(ログインシェル)

Macのデフォルトでは、ターミナル起動時には bash が読み込まれます。
そこで、ログインシェルを zsh に変更してみます。

$ sudo vi /etc/shells
Password:

開かれたファイルに、 /usr/local/bin/zsh を追加します。

# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh

その後、以下のコマンドで、ログインシェルが変更されます。

chsh -s /usr/local/bin/zsh

この企画の一覧はこちら

  1. zsh のインストール方法と、うまく起動しない時の対処法。
  2. .zshrc で zsh をカスタマイズしてみよう。(プラグイン無し)
  3. zplug を使ってプラグインをインストール、管理する。
  4. enhancd で cd コマンドを超便利に! インストールと使い方。

スポンサードリンク

関連コンテンツ

オススメ記事

carousel

【Bootstrap 4】くるくる回転するUI、カルーセル機能のを実装方法!

Bootstrap4の使い方、第8回目です。 サイトをみていると、画像を横並びにしてくるくると回転するカルーセル機能を実装しているサイトがありますよね。 Bootstrap4には、カルーセルを

Homebrew

Homebrewのインストール&使い方。すぐに使える詳しい解説!

※追記 この記事は2018/04/30に最新の情報に書き直しました。 人生をもう一度やり直したいとつくづく思う@It_is_Rです。 今回はHomebrewについての記事を書いて

FC2 blog customize

FC2ブログ ”最強” カスタマイズ入門講座。文字の大きさを設定する。

こんにちわ。美しいものほど濁って見える@It_is_Rです。 今回もFC2ブログの"最強"カスタマイズを始めていこうと思います。 今回は文字の大きさや色など、ブログ内の文字の設定をしていきます

WordPressカスタムヘッダーを完璧に使いこなしたい人へ告ぐ!

森の中に昔から住んでる@It_is_Rです。 WordPressのカスタマイズをする上で、カスタムヘッダーを使うと、色やヘッダー画像をWordPressの管理画面から操作できるようになり便利です

enchant.js100行未満!!本格シューティングゲーム作り方。

昨日歩き回ったせいで、足がかなり痛い@It_is_Rです。 さて、今回はenchant.jsのネタです。enchant.jsを使うと、javascriptのプログラムがものすごく簡単に書けてしま

マップ上をキャラが移動できるようにしよう!

小学生からのJavaScript。マップでキャラを動かせるようにしよう!

小学生からのプログラミング講座(こうざ)、第11弾です。 前回は、JavaScriptでのマップの作り方を紹介(しょうかい)しました。 しかし、まだマップを配置(はいち)しただけで、キャラクタ

プログラミングのクラスってなぁに?

小学生からのJavaScript。クラスの概念をしっかりと理解しよう!

小学生からのプログラミング講座(こうざ)、第12弾です。 前回はマップ上をキャラクターが自由に動くことができるようにしました。 今回はES6から使われるようになった「ク

【CSS設計】ボタンを作って覚える。機能ごとに分けて作る重要性。

手が回らない、頭が回らない、口が回らない。@It_is_Rです。 CSSはある程度大雑把に書いても動かすことができます。しかし、CSSを覚える上で一番難しい部分と言えばCSS設計でしょう。 パ

enchant.js

HTML5 と javascript ( enchant.js )を使ったアクションゲーム開発。

以前、Flashを使って、横スクロールアクションゲームを作ろうとしていたのですが、実はAndroid4.xではFlashPlayerがサポートされておらず、最近のAndroidではFlashPlaye

webpack-dev-serverの基本的な使い方と設定方法の詳しい解説

あとで見ようとブラウザのタブを開きすぎて、どれがどれだか分からなくなる@It_is_Rです。 webpack-dev-serverを使えば、とても簡単にwebpackでの開発サーバーを立ち上げる

コメントをどうぞ!

メールアドレスが公開されることはありません。