このブログ投稿では、nvm(Node Version Manager)とautoenvを一緒に使用して、開発ワークフローでNode.jsのバージョンと環境変数を管理する方法について学びます。このガイドでは、すでにシステムにnvmautoenvがインストールされていることを前提としています。

NVMとAutoenvを一緒に使う理由

nvmは、システム上で複数のNode.jsバージョンを管理するための素晴らしいツールで、簡単に切り替えることができます。autoenvは、ディレクトリに入ると.envファイルから自動的に環境変数を読み込んで簡単に管理することができます。

両方を組み合わせることで、開発環境を自動的に適切なNode.jsバージョンに切り替え、関連する環境変数を読み込むように設定し、ワークフローを簡素化することができます。

.envファイルの作成

まず、プロジェクトのルートディレクトリに.envファイルを作成します。このファイルには、プロジェクトで使用する環境変数とNode.jsバージョンが含まれます。

以下は.envファイルの例です:

export NODE_ENV=development
export API_KEY=your_api_key_here
export PORT=3000
export NVM_DIR="$HOME/.nvm"
nvm use 14.17.0

この例では、NODE_ENVAPI_KEY、およびPORT環境変数を設定しています。また、nvmディレクトリへのパスを指定し、プロジェクトにNode.jsバージョン14.17.0を使用するように指示しています。

NVMをAutoenvと一緒に使う

.envファイルを設定したら、autoenvnvmと連携するように設定する必要があります。シェルに応じて、.autoenv.zshまたは.autoenv.shファイルに以下の行を追加します:

source "$NVM_DIR/nvm.sh"

この行により、autoenv.envファイルを読み込むときにnvmコマンドが利用可能になります。

プロジェクトの設定

設定が完了したら、ターミナルを使用してプロジェクトのルートディレクトリに移動します。autoenvから.envファイルが読み込まれたことを示すメッセージが表示されるはずです:

$ cd your_project_directory
autoenv:
autoenv: Loading .env
autoenv: Switching to Node.js v14.17.0

これで、指定されたNode.jsバージョンと.envファイルからの環境変数が自動的にプロジェクトに設定されます。

プロジェクトの切り替え

異なる.envファイルを持つプロジェクト間を移動する場合、autoenvnvmは自動的にNode.jsバージョンと環境変数を適切に調整します:

$ cd another_project_directory
autoenv:
autoenv: Loading .env
autoenv: Switching to Node.js v12.22.1

これにより、異なるNode.jsバージョンと環境を管理することが簡単になります!

結論

nvmautoenvを組み合わせることで、プロジェクトのNode.jsバージョンと環境変数の管理を大幅に簡素化することができます。これにより、開発プロセスがより効率的になり、各プロジェクトに適切な設定を常に使用することができます。