<p>tfenv๋Š” rbenv, pyenv, luaenv ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.</p>

์— ๋งŒ๋“  2017๋…„ 07์›” 07์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: tfutils/tfenv

๋‚ด 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 ๋ช…๋ น์ด ์—†์Šต๋‹ˆ๋‹ค.

์„ค์น˜๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฅธ ๋ž˜ํผ์™€์˜ ํ˜ธํ™˜์„ฑ ๊ณ„์•ฝ์„ ์œ„๋ฐ˜ํ•œ ๊ฒƒ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

moreinfo

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ tfenv ๊ฐ€ /usr/local/bin/terraform ๋ฅผ ๋ฌด์‹œํ•˜๊ฑฐ๋‚˜ ์ ์ ˆํ•œ Terraform๊ณผ ์ถฉ๋Œ ํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€์‹  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ $PATH ๋กœ ํ”Œ๋ ˆ์ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  5 ๋Œ“๊ธ€

๋˜ํ•œ ํ˜„์žฌ ์‰˜ ์„ธ์…˜์— ๋Œ€ํ•ด ํŠน์ • ๋ฒ„์ „์˜ terraform์„ ํ™œ์„ฑํ™”ํ•˜๋Š” tfenv shell ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ tfenv ๊ฐ€ /usr/local/bin/terraform ๋ฅผ ๋ฌด์‹œํ•˜๊ฑฐ๋‚˜ ์ ์ ˆํ•œ Terraform๊ณผ ์ถฉ๋Œ ํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋Œ€์‹  ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ $PATH ๋กœ ํ”Œ๋ ˆ์ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด anyenv ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ์œ ์šฉํ•œ ๋„๊ตฌ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

rbenv init ๊ฐ€ ํ•˜๋Š” ์ผ์„ ํ•˜๋Š” ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค(๋งค์šฐ ๊ฐ„๋‹จํ•œ ํ˜•ํƒœ๋กœ).

https://github.com/jalcine/tfenv/tree/add-init-command

๊ฑฐ๊ธฐ์— ๋ฌด์—‡์ด ๋” ๋“ค์–ด๊ฐ€์•ผ ํ•˜๋Š”์ง€ ์•Œ๋ ค์ฃผ์„ธ์š”.

#240์— ์˜ํ•ด ํ•ด๊ฒฐ๋จ

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰