1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

プログラミングや開発環境を設定する際によく耳にする「パスを通す」という言葉。この記事では、以下の内容について詳しく解説します。

  • パスとは何か
  • パスを通すとはどういうことか
  • パスを通さないとどのような問題が起こるのか

パスとは?

パス(Path)とは、ファイルやディレクトリ(フォルダ)の場所を示すものです。オペレーティングシステム(OS)がプログラムやファイルを見つけるための「住所」ともいえます。

  • 絶対パス: ルートディレクトリから目的のファイルまでの完全な経路。
    例: /usr/local/bin/python
  • 相対パス: 現在の作業ディレクトリから目的のファイルまでの相対的な経路。
    例: ../bin/python

PATH環境変数とは?

PATHは、シェルやOSがプログラムを探す際に利用する「検索するフォルダの一覧」を保持する環境変数です。
OSはコマンドが実行されると、そのコマンドを探しに行きます。
しかし、全てのフォルダを探しに行っていたらかなり時間がかかります。
そこで、PATH環境変数というものを用意し、そこに登録されているフォルダのみを探しに行くことで効率良く探すことができるようになります

PATH環境変数の中身(例: Unix系システム)

echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
※各ディレクトリはコロン(:)で区切られています

パスを通すとは?

「パスを通す」とは、プログラムの実行ファイルが存在するディレクトリをPATH環境変数に追加することを意味します。これにより、ディレクトリを明示せずにプログラムを実行できるようになります。

具体例

実行可能ファイルのあるディレクトリが /usr/local/myapp/bin だと仮定
このままだと、次のようにフルパスを指定しないと実行できません。

/usr/local/myapp/bin/myapp

しかしパスを通すことで、単に myapp と入力するだけで実行可能になります

パスを通す際はこのように書くことでPATH環境変数に追加することができます

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

パスを通さないと困ること

プログラムが実行できない

前述の通り、パスを通さないと実行可能ファイルのフルパスを毎回指定しなければならないため、手間が増えます。
特に複数のプログラムを組み合わせるスクリプトでは、各プログラムのフルパスを書く必要が出てきます。

コマンドが見つからないエラー

コマンドが存在していても、PATHに含まれていない場合、次のようなエラーが発生します

myapp: command not found

おそらく環境構築時によく見かけるエラーではないでしょうか。
このエラーが出た場合はまずパスが通っているか疑うのが良いかと思います

実際にパスを通す方法

一時的にパスを通す

シェルセッション内でのみ有効。セッション終了時にリセットされるため、次回新たにシェルを起動した際には元に戻っている

export PATH=$PATH:/path/to/directory

永続的にパスを通す

こっちの方がよく使います。
シェルの設定ファイルを編集して永続的に設定します。

Bashの場合

  • ~/.bashrc または ~/.bash_profile を開き、下記を追加
export PATH=$PATH:/path/to/directory
  • 設定を反映する
source ~/.bashrc

Zshの場合

  • ~/.zshrc を編集し、Bashと同じ手順で追加します

まとめ

パスは、プログラムやファイルの位置を示す「住所」のようなもの。
パスを通すことで、プログラムをフルパスを指定せず簡単に実行することができるようになります。
command not foundに出会えたらまずは出会いに感謝し、落ち着いてパスを通すようにしましょう。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?