PATHの通し方(Windows, Mac, Linux, Unixの環境変数設定)

  • ---

    LINEで送る
  • -

    ブックマーク
  • -

    pocket
  • -

    rss
他言語サイト
翻訳はみつかりませんでした
programing image

プログラム開発環境をつくるときに、一番よく使い基本的な作業に環境変数の設定があります。プログラム言語の種類に関係なく必ず1回は経験するものです。

俗に『PTTHを通す』と言います。その設定方法をWindows, Mac, Linux, Unixごとに分かりやすくかんたんに説明します。

説明がかんたんではなくて本当に作業がかんたんです。気軽に見てください。

環境変数のPATHとはなにか?

まずは環境変数とは何かから。-> 分かっている人はスキップ

環境変数は、OSやOSにインストールされたアプリケーションが使う定数のことです。大文字で書くのが一般的です。

何回もいろいろな場面で使い、いちいち値を定義するのがめんどうなのでOS環境変数として定義します。

OSやアプリケーションは必要になったら環境変数から値を取り出して参照します。

その環境変数の中でPATHは特殊です。

PATHは、どの場所からも実行したいプログラムのコマンドを定義します(どのディレクトリからでも実行できるコマンド)。

たとえば"php"というPHPを実行するコマンドは、環境変数PATHにphpコマンドの場所を追加していないとき、

php

と実行しても『そんなコマンドは知らない!』と言われてしまいます。

phpコマンドを実行するためには、

/usr/bin/php

としなければなりません。/usr/bin/phpは、phpコマンドがインストールされているフルパスです。

/usr/binは、アプリケーションのコマンドのデフォルトのインストール先で、システム環境変数に追加されています。

じっさいは、/usr/binにあるphpコマンドはPATHを変更しなくても"php"で実行できます。

これはめんどうですよね? コマンドを実行するたびに長いコマンドを入力することになるので。

このめんどくささを解決するのがPATHです。PATHの値に"/usr/bin/"を追加することで、

php

というコマンドがどの場所からでも実行できるようになります。プログラム言語に関係なく『PATHを通す』という作業をするのはこのためで、

  • java
  • php
  • python

など、プログラム開発ではコマンドの実行は必ず行います。そして、プログラムのソースファイルは使う人が自由にどこにでも置いて作業します。

その自由に置かれたソースの場所からかんたんにコマンドを実行するためにPATHはあります。

環境変数にはOS全体で使うシステム環境変数と、特定のユーザーしか使えないユーザー環境変数があります。

システム環境変数はすべてのユーザーが使うことができます。

環境変数を参照するときWindowsでは

%PATH%

Mac, Linux, Unixでは

$PATH

というルールがあります。

Mac, Linuxのパス設定

PATHの設定の方法はWindowsとそれ以外に分かれます。

じつはmacOSはUnixをもとに開発されました。LinuxもUnixに影響されて作られたOSなのでとても似ています。だからMacとLinuxは同じ作業になります。

Linuxの名前の由来は『like a Unix(Unixのような)』です。Unixのバッタ者として始まって、いつのまにか本家のUnixを超えるほど広がっていきました。

MacとRedhat系LinuxのPATH設定

MacとRedhat系Linux(CentOS, Fedoraなど)は内部でbashというコマンドの集まりでできています。PATHの設定の方法はbashのルールにしたがいます。

編集するファイルはひとつで .bash_profile です。

.bash_profileは、rootユーザーとそれぞれのユーザーのホームディレクトリにある隠れファイルです。

隠れファイルは lsコマンドのaオプションをつけないと見えません。

rootユーザーの .bash_profile はシステム環境変数でそのほかのユーザーのファイルがユーザー環境変数の設定になります。

rootユーザーのファイルはセキュリティを考えるとほとんど使いません。ユーザー環境変数に追加しましょう。

.bash_profile編集前
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH

.bash_profileにはすでにこのようなかんじで定義されていると思います。

"PATH=$PATH:"は、『すでに定義されているPATHに追加する』という意味です。

コロン(:)は、区切り文字です。追加するときはもともとあったものを残して追加します。

もともとあったものを削除しないように注意してください。なにかしら異常が発生するアプリケーションが出てきます。

.bash_profile編集後
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/shell

"PATH=$PATH:"は、システム環境変数をユーザー環境変数にコピーしています。

そのうしろから書いてあるものがユーザー環境変数オリジナルです。

ファイルの編集はこれだけです。最後に編集した内容をOSに反映させます。

.bash_profileの更新
source ~/.bash_profile

sourceコマンドを実行しなくても、ターミナルからログインしなおすだけで反映されます。

ただ、sourceコマンドを実行するほうが確実です。

Debian系Linux, UnixのPATH設定

Debian系Linux(Ubuntuなど)やUnixは、デフォルトのシェルがbashではありません。

なので、編集するファイルが.bash_profileではありません。.profileになります。

もうひとつ違いがあるとすれば、PATHの定義をダブルクォーテーション(")で囲うことくらいです。

.profileのPATH定義
PATH="$PATH:$HOME/.local/bin:$HOME/bin"

bashと同じように『"』で囲わないものもあります。このあたりのルールはもとの定義に合わせてください。

あとはsourceコマンドで .profile を更新して終わりです。

.profileの更新
source ~/.profile

WindowsのPATH設定

WindowsはほかのOSと比べて独自の進化をしているので、同じような作業になりません。

Windowsの場合はデスクトップで作業したほうが早いです。というかコマンドで作業をする人はいないです。

まずは、環境変数の編集画面を開きます。

PC(旧コンピュータ)の右クリック -> プロパティを選びます。

PC(旧コンピュータ)image
windows コンパネ システム image
コントロールパネル -> システム

システムのウィンドウが表示されました。これは、コントロールパネル -> システムでも表示できます。

次に左の『システムの詳細設定』を選びます。

windows システムのプロパティ image
Windowsシステムプロパティ

『詳細設定』タブの『環境変数』ボタンを押します。

Windowsの環境変数リスト

環境変数のウィンドウが出ました。ユーザ環境変数のPathをダブルクリックするか、Pathを選んで編集ボタンを押します。

環境変数 編集 image
Windowsの環境変数編集

新規ボタンを押してパスを入力すると新しいパスが追加できます。最後にOKボタンを押して終了してください。

Windowsでの作業は以上です。昔はPCの再起動が必要でしたが、いまは不要です。コマンドプロンプトを開きなおしたら『PATHが通されて』います。

Windowsだけちょっと違うのがよく見るとわかります。

  • 変数名がPATHじゃなくてPath
  • 区切り文字がコロン(:)じゃなくてセミコロン(;)

まとめ

PATHの通し方はかんたんです。

Windowsとそれ以外

の2つの方法を覚えておけば、だいたいのOSで作業できます。

それでも、ときおり忘れてしまうぼくが言うのもなんですが...

この記事を一番必要としているのはぼく自身です。

(ごめんなさい。)

SNSでも記事を配信しています。
コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

top
この記事を気に入ったらぜひシェアも!!