浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

.envファイルの読み方色々

 .envは環境変数を定義するファイルとしてよく使われているファイル名です。この記事はいくつかの言語、フレームワークにおける.envの読み方の紹介をします。

今どきの環境は.envがあることを前提として作られている機能があります。例えば、PHPのフレームワークであるLaravelやJavaScript実行環境であるNode.jsです。

// Laravel
$version = env('VERSION');
// Node.js
const version = process.env.VERSION;

 dockerに至っては暗黙の裡に取り込んでしまいます

# laradockから引用
# .env
PHP_VERSION=7.2

# docker-compose.yml
### PHP Worker ############################################
    php-worker:
      build:
        context: ./php-worker
        args:
          - PHP_VERSION=${PHP_VERSION}

 AltJSをコンパイルする環境ならば特定の接頭辞の環境変数を定数をあてはめる形で実装されていることが多いです。

// Vue用開発ツールVue CLIならばVUE_APP_ほげほげ
const version = process.env.VUE_APP_VERSION
// Laravel用webpack拡張のLaravel MixならばMIX_ほげほげ
const version = process.env.MIX_VERSION;

 Pythonの様にdotenvというパッケージがある場合もあります(Rubyもそうらしい)。

dotenv_path = join(dirname(__file__), '.env') # .envへのパスを定義
load_dotenv(dotenv_path) # 環境変数に.env中の値を追加
version = environ.get("VERSION") # 環境変数から値を取得

 ちょっと手間ですがbashの中で読むこともできます。

script_dir=$(cd "$(dirname "${BASH_SOURCE:-$0}")" || exit; pwd)
cd "${script_dir}" || exit

eval "$(cat .env <(echo) <(declare -x))"
  • この記事いいね! (0)