https://github.com/direnv/direnv
GitHub - direnv/direnv: unclutter your .profile
unclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub.
github.com
direnv๋ ํด๋๋ณ๋ก ํ๊ฒฝ๋ณ์๋ฅผ ๋ค๋ฅด๊ฒ ์ค์ ํ ์ ์๋ ํด์ด๋ค.
1. ์ค์น๋ฐฉ๋ฒ
apt-get install direnv #Linux
brew install direnv #MacOS
2. shell์ hook ์ค์
์ฌ์ฉํ๋ shell์ ์ข ๋ฅ์ ๋ฐ๋ผ hook์ ์ค์ ํด ์ฃผ์ด์ผ ํ๋ค.
2.1. bash
vi ~/.bashrc
#๋งจ ์๋์ ๋ค์ ๋ด์ฉ ์ถ๊ฐ
eval "$(direnv hook bash)"
2.2. zsh
vi ~/.zshrc
#๋งจ ์๋์ ๋ค์ ๋ด์ฉ ์ถ๊ฐ
eval "$(direnv hook zsh)"
์ด์ธ์ shell์ ๋ค์ ๋งํฌ ์ฐธ๊ณ
https://github.com/direnv/direnv/blob/master/docs/hook.md
GitHub - direnv/direnv: unclutter your .profile
unclutter your .profile. Contribute to direnv/direnv development by creating an account on GitHub.
github.com
3. ์ฌ์ฉ๋ฒ
.envrc ํ์ผ์ ์ฌ์ฉํ๊ณ ์ถ์ ํ๊ฒฝ๋ณ์ ์ค์ ์ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
#example
#.envrc
export FOO="foo"
.envrc ํ์ผ์ ์ถ๊ฐํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์๋ฌ๋ฉ์ธ์ง๊ฐ ๋ฐ์ํ๋ค.
direnv allow ๋ช ๋ น์ ํตํด direnv๋ฅผ ํ์ฑํ์์ผ์ฃผ๋ฉด ํด๋น ํด๋์์ ์๋์ผ๋ก ํ๊ฒฝ๋ณ์๊ฐ ์ธํ ๋๋ค.
์ค์ ๋ ํ๊ฒฝ๋ณ์๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ํ์ธํด ๋ณผ ์ ์๋ค.
ํด๋น ํด๋๋ฅผ ๋๊ฐ๋ฉด ๋ค์ ํ๊ฒฝ๋ณ์ ์ค์ ์ด ํด์ ๋๋ค.
์งฑ