Ohmyzsh: ํ”Œ๋Ÿฌ๊ทธ์ธ: ๋น„๋™๊ธฐ์‹์œผ๋กœ ๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ์ฃผ๋ฌธํ˜•์œผ๋กœ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2017๋…„ 09์›” 06์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ohmyzsh/ohmyzsh

pyenv ๋˜๋Š” rbenv ์™€ ๊ฐ™์€ oh-my-zsh ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ํ›Œ๋ฅญํ•˜์ง€๋งŒ ์…ธ ์‹œ์ž‘ ์‹œ๊ฐ„์„ ํฌ๋กค๋งํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ๋ฐ–์— ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. #6017 ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

์ผ๋ถ€ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋น„๋™๊ธฐ์‹์œผ๋กœ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ชจ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์‹คํ–‰๋  ๋•Œ๊นŒ์ง€ ๋‚ด ์…ธ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์ฐจ๋‹จ๋˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ์‹คํŒจํ•˜๋ฉด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์˜จ๋””๋งจ๋“œ๋กœ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

init Feature

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

๋น„๋™๊ธฐ์‹ ๋กœ๋“œ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์€ ๋‹ต๋ณ€ํ•  ์ˆ˜ ์—†์ง€๋งŒ ์ˆ˜๋™ ๋กœ๋“œ์˜ ๊ฒฝ์šฐ .zshrc์— ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์˜ˆ์ œ(ํ•˜๋‚˜์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ๋งŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ, ์—๋Ÿฌ ์ฒดํฌ ์—†์Œ)

function load-plugin() {
  source $ZSH/plugins/"$1"/"$1".plugin.zsh
}

๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค load-plugin pyenv ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

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

๋น„๋™๊ธฐ์‹ ๋กœ๋“œ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์€ ๋‹ต๋ณ€ํ•  ์ˆ˜ ์—†์ง€๋งŒ ์ˆ˜๋™ ๋กœ๋“œ์˜ ๊ฒฝ์šฐ .zshrc์— ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์˜ˆ์ œ(ํ•˜๋‚˜์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ๋งŒ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ, ์—๋Ÿฌ ์ฒดํฌ ์—†์Œ)

function load-plugin() {
  source $ZSH/plugins/"$1"/"$1".plugin.zsh
}

๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค load-plugin pyenv ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

๋ฐ”๋กœ ์ง€๊ธˆ NVM(Node.js ๋ฒ„์ „ ๊ด€๋ฆฌ์ž)๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์ ์—์„œ ์ฐจ์ž„ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. https://github.com/creationix/nvm/issues/1277.

@crenwick ์€ NVM์„ ์˜จ๋””๋งจ๋“œ๋กœ ๋กœ๋“œํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด๋ƒˆ์Šต๋‹ˆ๋‹ค.

alias load_nvm='export NVM_DIR="$HOME/.nvm" && [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"'
alias node='unalias node npm && load_nvm && node'
alias npm='unalias node npm && load_nvm && npm'

pyenv์—์„œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ผ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

alias load_pyenv='eval "$(pyenv init -)"'
alias pyenv='unalias pyenv && load_pyenv && pyenv'

@awinecki ์ •๋ณด ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์€ ๋ณ„์นญ์„ ์ž๋™์œผ๋กœ ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์‰˜ ๋ณ€์ˆ˜ lazy_plugins ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š”์ง€, ์•„๋‹ˆ๋ฉด zsh autoload ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ๋กœ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋กœ๋“œํ•˜๋Š” ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์…ธ ์‹œ์ž‘ ์‹œ๊ฐ„์ด ์•„๋‹ˆ๋ผ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ.

์Šคํฌ๋ฆฝํŒ… ์ „๋ฌธ๊ฐ€๋“ค์ด ์ด ์•„์ด๋””์–ด์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜๋Š”์ง€ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

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