7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

環境変数をファイルで扱う env-cmd をローカルインストールで利用してみる(-f オプションでの利用)

Last updated at Posted at 2022-03-12

環境変数を扱うようなパッケージで、dotenv などがありますが、自分は使ったことのない「env-cmd」というのを見かけて、それを試してみました。

●env-cmd - npm
 https://www.npmjs.com/package/env-cmd

●toddbluhm/env-cmd: Setting environment variables from a file
 https://github.com/toddbluhm/env-cmd

サクッと試す

まずは、 $ npm i env-cmd というコマンドで env-cmd をローカルインストールします。

そして、ここで Node.js で環境変数を出力する以下のプログラムを動かしてみて、env-cmd を使わなかった場合にデフォルトで読み込める環境変数を確認してみます。以下を nodeコマンドで実行してみると、ご自身の環境の環境変数が出力されると思います。

console.log(process.env);

それでは、ここから env-cmd を使っていきます。

env-cmd の -f オプション

公式の GitHubリポジトリの「Using custom env file path」という項目の部分に以下の記載があります。
env-cmd の -f オプション利用

今回は、このやり方で試してみます。そのために、以下のようなプログラムを用意してみました。

index.js
console.log(process.env.ENV_CMD_TEST1);
console.log(process.env.ENV_CMD_TEST2);

今時点だと、nodeコマンドで普通に実行すると「undefined」が出力されます。

ここから、env-cmd を活用していきます。
まずは、環境変数を記載したファイルを準備します。ファイル名は .env にして、JavaScript のファイルと同じ階層に置きました。

# 環境変数2つ
ENV_CMD_TEST1=aaaaaa
ENV_CMD_TEST2=bbbbbb

あとは、env-cmdコマンドを使って上記の内容を読み込みつつ、JavaScript のプログラムを実行します。
実行時のコマンドについて、元の記載だと ./node_modules/.bin/env-cmd となっていた部分は、 npx env-cmd にしました。実行するコマンドは、以下となります。

$ npx env-cmd -f .env node index.js

上記を実行すると、先ほどとは異なり以下の出力結果を得ることができました。
env-cmd のお試し

無事に、.envファイルに記載していた内容を出力できました。

公式の「Basic Usage」

公式の「Basic Usage」と書かれた部分があり、基本的な使い方は以下となるようですが、今回はその下にある -fオプションのほうを試してみたくてやってみました。

公式の「Basic Usage」

7
5
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
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?