Goのプログラムから、direnvで設定した環境変数にアクセスする方法が分かりません。
私はzshを使っているのですが、.zshrc内で定義してある環境変数には、以下のようにGoで書いたプログラムからアクセスできます。
Go
1fmt.Println(os.Getenv("EDITOR")) // vim
しかし、ディレクトリごとに環境変数を使い分けたいと思ってdirenvを使い始めたのですが、ディレクトリごとに定義した環境変数へは、先程のプログラムのようにアクセスすることはできませんでした。
具体的な状況としては、以下のように.envrcに環境変数を定義しました。
export HOGE="fugafuga"
この時、以下のように環境変数にzshからアクセスすることはできました。(.envrcがあるところと同じディレクトリにて実行)
shell
1> echo $HOGE 2> fugafuga
しかし、Goのプログラム内からはアクセスできませんでした。(このGoのファイルは.envrcがあるところと同じディレクトリに存在しています。)
Go
1fmt.Printlen(os.Getenv("HOGE")) // 空行が出力される
direnvとgolangの組み合わせで調べたりしたのですが、GOPATHの管理方法などの記事はあったものの、私の疑問点を解決するようなものは見つけられませんでした。
どのようにしたら、Goのプログラムからdirenvで定義した環境変数を扱うことができるでしょうか?
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/08 14:15
2019/10/08 14:24
2019/10/08 14:26