PATHと環境変数とは、OSや実行中のプログラムに設定情報を渡す仕組みです。特にPATHは、コマンドの実体を探す場所の一覧です。
一言でいうと
command not found は、ツールが存在しないか、PATHから見つけられない時によく起きます。
PATHとは
ターミナルで次のように入力したとします。
node --version
OSは node という実行ファイルを、PATHに登録されたフォルダから探します。見つかれば実行し、見つからなければエラーになります。
node: command not found
これは「Node.jsが壊れた」という意味とは限りません。インストールされていない、またはPATHに登録されていない可能性があります。
環境変数とは
環境変数は、プログラムに外から渡す設定値です。
| 例 | 用途 |
|---|---|
PATH | コマンドを探す場所 |
NODE_ENV | Node.jsの実行環境 |
HOME | ユーザーのホームディレクトリ |
API_KEY | APIキーなどの設定値 |
アプリの設定をコードに直接書かず、実行環境側から渡すために使います。
なぜ使うのか
環境変数を使う理由は、環境ごとに変わる値をコードから分離するためです。
| 値 | コードに直接書く問題 |
|---|---|
| APIキー | GitHubに漏れる危険がある |
| DB接続先 | 開発環境と本番環境で変わる |
| 実行モード | 開発、本番、テストで変わる |
注意: APIキーやパスワードをコード、README、スクリーンショット、チャットに貼らないでください。環境変数や秘密情報管理を使います。
.envとは
.env は、環境変数をファイルにまとめるためによく使われる形式です。
API_URL=https://example.com
API_KEY=your-key-here
ただし、.env をGitで公開してはいけません。通常は .gitignore に入れます。
よくある誤解
| 誤解 | 実際 |
|---|---|
| PATHはプログラミング言語の機能 | OS側の仕組み |
| インストールすれば必ずコマンドが使える | PATH設定が必要な場合がある |
.env に入れれば安全 | Gitに上げたら漏れる |
| 環境変数は上級者だけ使う | 初心者でもAPI利用時に必要になる |
まとめ
PATHはコマンドの場所を探すための環境変数です。環境変数は、コードに直接書きたくない設定値を外から渡す仕組みです。エラーが出た時は、インストール済みか、PATHが通っているか、秘密情報を漏らしていないかを確認します。