๋ด dotfiles ๊ตฌ์ฑ๊ณผ pyenv, rbenv ๋ฑ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก tfenv๋ฅผ ํฌํจํ๋ ค๊ณ ํ์ต๋๋ค. ์ด๋ฌํ ๋ํผ๋ฅผ ์ง์ฐ ๋ก๋ํ๋ฏ๋ก init
๊ฐ ์ฒซ ๋ฒ์งธ ํธ์ถ์์ ์คํ๋ฉ๋๋ค. ๋ค์์ ์
ธ์์ ๋ณด์ด๋ ๋ฐฉ์์
๋๋ค.
% type -f rbenv
rbenv () {
unset -f rbenv
export RBENV_ROOT=$XDG_DATA_HOME/rbenv
PATH=$DOTFILES/rbenv/rbenv/bin:$PATH
eval "$(command rbenv init -)"
rbenv $@
}
์ด ํจ์๋ https://github.com/z0rc/dotfiles/blob/master/zsh/rc.d/15_rbpynodlua_env.zsh#L5 -L16์์ ๋ํผ๋ฅผ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ์์ฑ๋ฉ๋๋ค. ๋ํ *ENV_ROOT
dir์ ์ ์ํ๋ฏ๋ก ํด๋น ๋ํผ๋ $HOME
์ ์ต์์ dotdir์ ์์ฑํ์ง ์์ต๋๋ค(์ฐธ๊ณ : XDG Base Dir Spec์ 10๋
์ด ๋์์ง๋ง ์ผ๋ถ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฌ์ ํ ์กด๊ฒฝํฉ๋๋ค, ๋ถ๋๋ฝ์ต๋๋ค)
๊ทธ๋์ ๋ค๋ฅธ ๋ํผ์ ๊ฐ์ ๋ฐฉ์์ผ๋ก TFENV_ROOT
๋ฅผ ์ฒ๋ฆฌํ์ง ์๋๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ๊ธฐ ์ํด ์ฌ๊ธฐ์ tfenv
๋ฅผ ํ์ฑํํ๋ ค๊ณ ํ์ต๋๋ค. ๋ค๋ฅธ ๋ํผ๋ *ENV_ROOT
ํด๋๋ฅผ ์ฌ์ฉํ์ฌ shim, ํ๋ฌ๊ทธ์ธ ๋ฐ ์บ์๋ฅผ ์ ์ฅํฉ๋๋ค. tfenv
๋ ๋ฌธ์ ๊ทธ๋๋ก ์ค์น ์์น๋ฅผ ๋ํ๋ด๋ ์งํ๋ก ์ฌ์ฉํ๋๋ฐ, ์ด์จ๋ ์๋์ผ๋ก ๊ฐ์ง๋๊ธฐ โโ๋๋ฌธ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๋ํ tfenv init
๋ช
๋ น์ด ์์ต๋๋ค.
์ค์น๋ฅผ ๋จ์ํํ๋ ค๊ณ ๋ ธ๋ ฅํ์ง๋ง ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ค๋ฅธ ๋ํผ์์ ํธํ์ฑ ๊ณ์ฝ์ ์๋ฐํ ๊ฒ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋ํ ํ์ฌ ์ ์ธ์
์ ๋ํด ํน์ ๋ฒ์ ์ terraform์ ํ์ฑํํ๋ tfenv shell
๊ฐ ์์ต๋๋ค.
๊ฐ์ฅ ์ค์ํ ๊ฒ์ tfenv
๊ฐ /usr/local/bin/terraform
๋ฅผ ๋ฌด์ํ๊ฑฐ๋ ์ ์ ํ Terraform๊ณผ ์ถฉ๋ ํด์๋ ์ ๋๋ค๋ ๊ฒ์
๋๋ค. ๋์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ํ๋ ๊ฒ์ฒ๋ผ $PATH
๋ก ํ๋ ์ดํด์ผ ํฉ๋๋ค.
์ด๋ฌํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด anyenv
์ ํจ๊ป ์ฌ์ฉํ ๋ ์ ์ฉํ ๋๊ตฌ๊ฐ ๋ฉ๋๋ค.
rbenv init
๊ฐ ํ๋ ์ผ์ ํ๋ ๋ถ๊ธฐ๋ฅผ ๋ง๋ค์์ต๋๋ค(๋งค์ฐ ๊ฐ๋จํ ํํ๋ก).
https://github.com/jalcine/tfenv/tree/add-init-command
๊ฑฐ๊ธฐ์ ๋ฌด์์ด ๋ ๋ค์ด๊ฐ์ผ ํ๋์ง ์๋ ค์ฃผ์ธ์.
#240์ ์ํด ํด๊ฒฐ๋จ
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ฐ์ฅ ์ค์ํ ๊ฒ์
tfenv
๊ฐ/usr/local/bin/terraform
๋ฅผ ๋ฌด์ํ๊ฑฐ๋ ์ ์ ํ Terraform๊ณผ ์ถฉ๋ ํด์๋ ์ ๋๋ค๋ ๊ฒ์ ๋๋ค. ๋์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ํ๋ ๊ฒ์ฒ๋ผ$PATH
๋ก ํ๋ ์ดํด์ผ ํฉ๋๋ค.