5
0

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 5 years have passed since last update.

direnvをMacに設定して環境変数を切り替える

Last updated at Posted at 2019-06-21

はじめに

Go1.11以降を使うときに、パッケージの依存管理にはGo Modulesが必要になるそうです。
(それまでのバージョンでは、glideやdepを使用していました)
今回は、GO111MODULEとうい環境変数を指定してGo Modulesを有効にしたいので、direnvを使用することにしました。
direnvを使うと、環境変数をディレクトリ毎に設定できるようになります。

実行環境

OS:Mac OS X / 10.14.5
Shell:bash

direnvのインストール

インストール

MacなのでHomebrewから失礼します。

$ brew install direnv

.bashrcの設定

zshでも他のshでもかまいません。

# 設定の追加
echo 'eval "$(direnv hook bash)"' >> ~/.bashrc
echo 'export EDITOR=$(which vim)' >> ~/.bashrc

# 反映
$ source ~/.bashrc

ディレクトリ毎の設定

今回は、Goのプロジェクトが置いてあるディレクトリ名cellarを対象にしてみます。

# 設定したいディレクトリに移動
$ cd go/src/cellar

# 個別設定するために編集(vimが立ち上がります)
$ direnv edit .

# vimで以下を追記して保存
export GO111MODULE=on

保存後に、以下のようなメッセージが表示されます。これで追加は完了です。

direnv: loading .envrc
direnv: export +GO111MODULE

確認

先ほど設定したディレクトリから離れると、以下のようなメッセージが表示されます。

$ cd ..
direnv: unloading

設定したディレクトリに戻ると、設定したよって教えてくれます。

$ cd cellar/
direnv: loading .envrc
direnv: export +GO111MODULE

いちいち教えてくれるところが、かわいい弟のようです。

さいごに

今回は、一つの環境変数を設定したいが為に、direnvを導入してみました。
まだまだ他の使い方もあるかもしれませんが、もしあればまた次回に。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?