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

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

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

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

目次
  1. zsh のインストール
  2. zsh の基本
  3. PATHについて
  4. 起動を zsh に設定(ログインシェル)

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 コマンドを超便利に! インストールと使い方。

スポンサードリンク

関連コンテンツ

オススメ記事

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

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

文字を表示するクラスを作ろう!

小学生からのJavaScript。文字を表示するクラスを作ってみよう!

小学生からのJavaScript講座です。 このシリーズでは、ゲームをつくりながらJavaScriptの使い方を学んでいきます。 シリーズの一覧はこちらをご覧ください。 さて、ゲーム作成で重

Scratchで じゃんけんゲームを作ろう!

小学生から始めるScratch入門。じゃんけんゲームを作ろう!

小学生から始めるScratch入門です。 前回、スクラッチでシューティングゲームを作りました。 今回はじゃんけんゲームを作ってみましょう。 プロローグ [serif icon=

【Android Studio】 GridLayout の使い方。複雑なレイアウトを表現する方法

スマホの充電がいつの間にか無くなっている@It_is_Rです。 Androidアプリ開発、10回目となりました。 前回、様々なレイアウトの使い方を紹介しましたが、今回はその中でもちょっと難しい

wordpress

WordPress管理画面のテーマカスタマイザーに独自の項目を追加。

WordPressみたいに私自身の人生もカスタムできたらいいのに。@It_is_Rです。 WordPressのカスタマイズは、公開しているサイトだけではありません。 管理画面をカスタマイズする

キャラクター

JavaScriptマンガ風講座。初心者でも絶対に理解できる入門編!!

プログラミングは奥が深い。。。@It_is_Rです。 Flashがスマホから使えなくなり、多くのサイトにHTML5が使われ、ブラウザ上でのアニメーションはJavaScriptが多く使われるように

【Gitの使い方 – その1】GitHubのアカウントを取得する方法!

Gitを使うとバージョン管理が簡単になりますが、それ以前に自分の頭の中を管理するのが大変な@It_is_Rです。 Gitの使い方をいくつかの記事に分けて紹介していきたいと思います。 まず今回は

zsh

enhancd で cd コマンドを超便利に! インストールと使い方。

曲を作っても、再生数が伸びない。@It_is_Rです。 やかましいわ。 ターミナルをカッコよくするシリーズ4回目です。 今回は enhancd というプラグインを使って cd コマンドを便利

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

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

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

JavaScriptマンガ講座。条件分岐(if文)の真偽値による使い方。(実践編)

生まれも育ちもド田舎、@It_is_Rです。 JavaScriptマンガ講座、第3回目です。 笑いあり、涙あり(?)のマンガで、JavaScriptを覚えようというものです。 今回は条件

コメントをどうぞ!

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