Brew Creator, ์ƒˆ๋กœ์šด ์ฐจ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ๊ฐœ๋ฐœ

์ธ๊ธฐ ์žˆ๋Š” macOS ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ธ Brew(Homebrew)์˜ ์ €์ž์ธ Max Howell์€ Brew ๊ฐœ๋ฐœ์˜ ์—ฐ์†์œผ๋กœ ์ž๋ฆฌ์žก์€ Tea๋ผ๋Š” ์ƒˆ๋กœ์šด ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ๋„˜์–ด ์ž‘๋™ํ•˜๋Š” ํ†ตํ•ฉ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ์ธํ”„๋ผ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ„์‚ฐ๋œ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ฒ˜์Œ์—๋Š” ๋ฉ€ํ‹ฐ ํ”Œ๋žซํผ ํ”„๋กœ์ ํŠธ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(ํ˜„์žฌ macOS ๋ฐ Linux๊ฐ€ ์ง€์›๋˜๊ณ  Windows ์ง€์›์€ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค). ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” TypeScript๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Apache 2.0 ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค(Brew๋Š” Ruby๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ BSD ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋จ).

Tea๋Š” ๊ฐœ๋…์ ์œผ๋กœ ์ „ํ†ต์ ์ธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์™€๋Š” ๋‹ค๋ฅด๋ฉฐ "ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค" ํŒจ๋Ÿฌ๋‹ค์ž„ ๋Œ€์‹  "ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค" ํŒจ๋Ÿฌ๋‹ค์ž„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ Tea๋Š” ์ด์ฒ˜๋Ÿผ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๋Š” ๋ช…๋ น์ด ์—†๊ณ , ๋Œ€์‹  ํ™˜๊ฒฝ ์ƒ์„ฑ์„ ์ด์šฉํ•ด ํ˜„์žฌ ์‹œ์Šคํ…œ๊ณผ ๊ฒน์น˜์ง€ ์•Š๋Š” ํŒจํ‚ค์ง€ ๋‚ด์šฉ์„ ์‹คํ–‰ํ•œ๋‹ค. ํŒจํ‚ค์ง€๋Š” ๋ณ„๋„์˜ ~/.tea ๋””๋ ‰ํ† ๋ฆฌ์— ๋ฐฐ์น˜๋˜๋ฉฐ ์ ˆ๋Œ€ ๊ฒฝ๋กœ์— ๋ฐ”์ธ๋”ฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์ด๋™ ๊ฐ€๋Šฅ).

๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์ž‘์—… ๋ชจ๋“œ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋œ ํ™˜๊ฒฝ์— ์•ก์„ธ์Šคํ•˜์—ฌ ๋ช…๋ น ์…ธ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ๊ณผ ํŒจํ‚ค์ง€ ๊ด€๋ จ ๋ช…๋ น์„ ์ง์ ‘ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "tea +gnu.org/wget"์„ ์‹คํ–‰ํ•˜๋ฉด ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋Š” wget ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ํ•„์š”ํ•œ ๋ชจ๋“  ์ข…์†์„ฑ์„ ๋‹ค์šด๋กœ๋“œํ•œ ๋‹ค์Œ ์„ค์น˜๋œ wget ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์—์„œ ์…ธ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ์˜ต์…˜์€ ์ง์ ‘ ์‹คํ–‰์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. "tea +gnu.org/wget wget https://some_webpage"์—์„œ๋Š” wget ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์„ค์น˜๋˜๊ณ  ๋ณ„๋„์˜ ํ™˜๊ฒฝ์—์„œ ์ฆ‰์‹œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, white-paper.pdf ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๊ธ€๋กœ์šฐ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์žกํ•œ ์ฒด์ธ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(wget ๋ฐ ๊ธ€๋กœ์šฐ๊ฐ€ ๋ˆ„๋ฝ๋œ ๊ฒฝ์šฐ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค). gnu.org/wget wget -qO- https:/ /tea.xyz/white-paper.pdf | tea +charm.sh/glow Glow - ๋˜๋Š” ๋” ๊ฐ„๋‹จํ•œ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. tea -X wget -qO- tea.xyz/white-paper | ์ฐจ -X ๊ธ€๋กœ์šฐ โ€”

๋น„์Šทํ•œ ๋ฐฉ์‹์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ, ์ฝ”๋“œ ์˜ˆ์ œ ๋ฐ ํ•œ ์ค„์งœ๋ฆฌ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•˜์—ฌ ํ•ด๋‹น ์ž‘์—…์— ํ•„์š”ํ•œ ๋„๊ตฌ๋ฅผ ์ž๋™์œผ๋กœ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "tea https://gist.githubusercontent.com/i0bj/โ€ฆ/raw/colors.go -yellow"๋ฅผ ์‹คํ–‰ํ•˜๋ฉด Go ํˆดํ‚ท์ด ์„ค์น˜๋˜๊ณ  "-yellow" ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ colors.go ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๋งค๋ฒˆ tea ๋ช…๋ น์„ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋„๋ก ๊ฐ€์ƒ ํ™˜๊ฒฝ์˜ ๋ฒ”์šฉ ๊ด€๋ฆฌ์ž ๋ฐ ๋ˆ„๋ฝ๋œ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๊ธฐ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด ์—†์œผ๋ฉด ์„ค์น˜๋˜๊ณ , ์ด์ „์— ์„ค์น˜๋˜์–ด ์žˆ์—ˆ๋‹ค๋ฉด ํ•ด๋‹น ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. $ deno zsh: ๋ช…๋ น์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ: deno $ cd my-project $ deno tea: deno.land ์„ค์น˜^1.22 deno 1.27.0 > ^D

ํ˜„์žฌ ํ˜•์‹์—์„œ Tea์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํŒจํ‚ค์ง€๋Š” ํŒจํ‚ค์ง€ ๋‹ค์šด๋กœ๋“œ ์†Œ์Šค, ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ๋ฐ ์ข…์†์„ฑ์„ ์„ค๋ช…ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๋Š” pantry.core ๋ฐ pantry.extra์˜ ๋‘ ์ปฌ๋ ‰์…˜์œผ๋กœ ์ˆ˜์ง‘๋ฉ๋‹ˆ๋‹ค. pantry.core ์ปฌ๋ ‰์…˜์—๋Š” ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€๋˜๊ณ  Tea ๊ฐœ๋ฐœ์ž๊ฐ€ ํ…Œ์ŠคํŠธํ•œ ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Pantry.extra์—๋Š” ์ถฉ๋ถ„ํžˆ ์•ˆ์ •ํ™”๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ตฌ์„ฑ์›์ด ์ œ์•ˆํ•œ ํŒจํ‚ค์ง€๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋ฅผ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Tea์šฉ ํŒจํ‚ค์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ํฌ๊ฒŒ ๋‹จ์ˆœํ™”๋˜์—ˆ์œผ๋ฉฐ ํ•˜๋‚˜์˜ ๋ฒ”์šฉ package.yml ํŒŒ์ผ(์˜ˆ)์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ท€๊ฒฐ๋˜๋ฉฐ, ๊ฐ ์ƒˆ ๋ฒ„์ „์— ๋Œ€ํ•ด ํŒจํ‚ค์ง€๋ฅผ ์กฐ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋Š” GitHub์— ์—ฐ๊ฒฐํ•˜์—ฌ ์ƒˆ ๋ฒ„์ „์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ํŒŒ์ผ์€ ์ข…์†์„ฑ์„ ์„ค๋ช…ํ•˜๊ณ  ์ง€์›๋˜๋Š” ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์„ค์น˜๋œ ์ข…์†์„ฑ์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ(๋ฒ„์ „์€ ๊ณ ์ •๋จ) ์™ผ์ชฝ ํŒจ๋“œ ์‚ฌ๊ฑด๊ณผ ์œ ์‚ฌํ•œ ์ƒํ™ฉ์ด ๋ฐ˜๋ณต๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ–ฅํ›„์—๋Š” ๋ณ„๋„์˜ ์ €์žฅ์†Œ์— ์–ฝ๋งค์ด์ง€ ์•Š๋Š” ๋ถ„์‚ฐํ˜• ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ , ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋ถ„์‚ฐํ˜• ๋ธ”๋ก์ฒด์ธ, ํŒจํ‚ค์ง€ ์ €์žฅ์€ ๋ถ„์‚ฐํ˜• ์ธํ”„๋ผ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ณ„ํš์ด๋‹ค. ๋ฆด๋ฆฌ์Šค๋Š” ์œ ์ง€๊ด€๋ฆฌ์ž๊ฐ€ ์ง์ ‘ ์ธ์ฆํ•˜๊ณ  ์ดํ•ด๊ด€๊ณ„์ž๊ฐ€ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€์˜ ์œ ์ง€ ๊ด€๋ฆฌ, ์ง€์›, ๋ฐฐํฌ ๋ฐ ๊ฒ€์ฆ์— ๊ธฐ์—ฌํ•˜๊ธฐ ์œ„ํ•ด ์•”ํ˜ธํ™”ํ ํ† ํฐ์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Brew Creator, ์ƒˆ๋กœ์šด ์ฐจ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ๊ฐœ๋ฐœ


์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€