๐Ÿ’ป ํ•  ๋•Œ ๋งˆ๋‹ค ๊ตฌ๊ธ€๋งํ•˜๋Š” ์ดˆ๊ธฐ ๋…ธํŠธ๋ถ ์„ธํŒ…๋ฒ• ์ •๋ฆฌํ•˜๊ธฐ

์ฃผ์˜ˆยท2024๋…„ 4์›” 2์ผ
2

๊ฐœ๋ฐœ

๋ชฉ๋ก ๋ณด๊ธฐ
2/2
post-thumbnail

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

์ฐธ๊ณ ๋กœ ๋‚˜๋Š”
๋งฅ๋ถ m2์นฉ์ด์ƒ ๋…ธํŠธ๋ถ์ด๋ฉฐ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ธฐ์ค€์ž…๋‹ˆ๋‹ค.

ssh

์‚ฌ๋žŒ๋“ค๋งˆ๋‹ค ๊นƒํ—ˆ๋ธŒ๋ฅผ ํ† ํฐ์ด๋‚˜ ssh๋กœ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ, ์ผ๋‹จ ๋‚˜๋Š” ssh๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ ‡๊ธฐ๋•Œ๋ฌธ์— ssh ํ‚ค๋ฅผ ๋ฐœ๊ธ‰ํ•˜๊ณ  ๊นƒํ—ˆ๋ธŒ์— ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ์ž‘์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ํ‚ค ํ™•์ธ ํ›„ ํ‚ค ์ƒ์„ฑ

cat ~/.ssh/id_rsa.pub # ํ•ด๋‹น ๋ช…๋ น์–ด๋กœ ํ‚ค ์—ฌ๋ถ€ ํ™•์ธ

2. ํ‚ค์ƒ์„ฑ

ssh-keygen # ์ด ๊ณผ์ •์—์„œ ์œ„์น˜๋ฅผ ์„ค์ •ํ•˜๋ผ๊ณ  ๋œจ์ง€๋งŒ ๋‚˜๋Š” ๊ทธ๋ƒฅ ์—”ํ„ฐ๋ฅผ ์ณค๋‹ค.

3. ํ‚ค๋ณต์‚ฌ

pbcopy < ~/.ssh/id_rsa.pub # ํ‚ค ๋ณต์‚ฌ ์™„๋ฃŒ ์ด๋Œ€๋กœ ๊นƒํ—ˆ๋ธŒ๋กœ

4. ๊นƒํ—ˆ๋ธŒ์— ssh ์ถ”๊ฐ€

setting์˜ ์ขŒ์ธกํƒญ ์ด๋ฏธ์ง€

๊นƒํ—ˆ๋ธŒ์— ๋กœ๊ทธ์ธ ํ•œ ํ›„ ์šฐ์ธก์ƒ๋‹จ์— ๋‚ด ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ๋ˆŒ๋Ÿฌ setting ํŽ˜์ด์ง€๋กœ ์˜ต๋‹ˆ๋‹ค.
๊ทธ ํ›„์— ํ•ด๋‹น ํŽ˜์ด์ง€ ์ขŒ์ธก ํƒญ์—์„œ SSH and GPG keys๋ฅผ ๋ˆ„๋ฅด๊ณ  ์•„๊นŒ ๋ณต์‚ฌํ•ด์˜จ ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ssh ์ถ”๊ฐ€ ์™„๋ฃŒ

๋‚ด๊ฐ€ ์ง€์ •ํ•œ ์ด๋ฆ„์œผ๋กœ ํ‚ค๊ฐ€ ๋“ฑ๋ก๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ‚ค๋Š” ํ˜„์žฌ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ๋ฐœ๊ธ‰ํ•˜๊ณ  ๋“ฑ๋กํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ ์‚ฌ์šฉํ• ๋ ค๋ฉด ๋˜ ์œ„์— ๊ณผ์ •์„ ๊ฑฐ์ณ์„œ ํ‚ค๋ฅผ ๋“ฑ๋กํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

homebrew

homebrew ํ™ˆํŽ˜์ด์ง€
homebrew๋Š” ๋งฅ๋ถ์„ ์‚ฌ์šฉํ•ด ๊ฐœ๋ฐœํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด๋ผ๋ฉด ์ž์ฃผ ์• ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
homebrew๋ฅผ ํ†ตํ•ด ๋ช…๋ น์–ด ํ•œ ์ค„๋กœ ํ•„์š”ํ•œ ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
homebrew ์„ค์น˜ ๋ฐฉ๋ฒ•์€ ํ™ˆํŽ˜์ด์ง€์— ๋งค์šฐ ์ž˜ ๋‚˜์™€์žˆ์ง€๋งŒ, ํด๋ฆญํ•ด์„œ ํŽ˜์ด์ง€ ์ด๋™๋„ ๊ท€์ฐฎ๋‹ค๋ฉด ์ด ๊ธ€ ํ•˜๋‚˜๋กœ ๋‹ค ๋๋‚ด๋ณด์ž.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

home brew ์„ค์น˜ ํ›„ ํ„ฐ๋ฏธ๋„์— ๋‚˜์˜ค๋Š” ๋ฌธ๊ตฌ

ํ™ˆํŽ˜์ด์ง€์— ๋‚˜์˜จ๋Œ€๋กœ ์„ค์น˜ ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์— ์ž…๋ ฅํ•˜๋ฉด ์œ„์™€ ๊ฐ™์€ ์™„๋ฃŒํ™”๋ฉด์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.
์ž˜ ์ฝ์–ด๋ณด๋ฉด Next steps์ด ์žˆ๋Š”๋ฐ, Path๋ฅผ ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ์ด๊ธฐ๋•Œ๋ฌธ์— ์œ„์˜ ์ž‘์—…๊นŒ์ง€ ๋‹ค ํ•ด์ค˜์•ผํ•ฉ๋‹ˆ๋‹ค.

(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/jooye/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"

๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณต์‚ฌํ•ด์„œ ๋ฐ”๋กœ ํ„ฐ๋ฏธ๋„ ์ฐฝ์— ์ž…๋ ฅํ•˜๊ณ , ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด ๋ฒ„์ „์„ ํ™•์ธํ•˜๋ฉด homebrew ์„ค์น˜๊ฐ€ ๋๋‚ฉ๋‹ˆ๋‹ค.

brew --version

nvm

nvm์€ node version manager๋กœ ๋ง๊ทธ๋Œ€๋กœ ๋…ธ๋“œ๋ฅผ ์„ค์น˜ํ•˜๊ณ  ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.
nvm ๋ง๊ณ ๋„ n๋„ ์žˆ์ง€๋งŒ, nvm์ด ํŽธํ•˜๊ธฐ๋•Œ๋ฌธ์— ๊ทธ๋Œ€๋กœ ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ์œ„์—์„œ brew๋ฅผ ์„ค์น˜ํ–ˆ๊ธฐ๋•Œ๋ฌธ์— nvm ์„ค์น˜๋„ brew๋ฅผ ํ†ตํ•ด ์ง„ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

brew install nvm

nvm ์„ค์น˜ ํ›„ ๋‚˜์˜ค๋Š” ํ„ฐ๋ฏธ๋„

brew๋กœ nvm ์„ค์น˜๋ฅผ ์™„๋ฃŒํ•˜๋ฉด brew๋ฅผ ์„ค์น˜ํ–ˆ์„ ๋•Œ์ฒ˜๋Ÿผ ์ดํ›„์— ํ•ด์•ผํ•˜๋Š” ๊ณผ์ •๋“ค์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์—ญ์‹œ path๋ฅผ ๋“ฑ๋กํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

mkdir ~/.nvm ## ํ•ด๋‹น ํด๋” ๋งŒ๋“ค๊ธฐ

vim ~/.zshrc ## vim์œผ๋กœ ํ•ด๋‹น ํŒŒ์ผ ํŽธ์ง‘ํ•˜๊ธฐ

vim์€ i ๋ฅผ ๋ˆŒ๋Ÿฌ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•ด์„œ ๋ถ™์—ฌ๋„ฃ์€ ํ›„์—

export NVM_DIR="$HOME/.nvm"
  [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

:eq ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ €์žฅํ•˜๊ณ  ํ•ด๋‹น ํŒŒ์ผ์„ ๋น ์ ธ๋‚˜์˜ต๋‹ˆ๋‹ค.

source ~/.zshrc ## ํŒŒ์ผ ์‹คํ–‰
nvm --version ## ๋ฒ„์ „ ํ™•์ธ

์œ„์˜ ๋ช…๋ น์–ด๋กœ ์šฐ๋ฆฌ๊ฐ€ ์ž…๋ ฅํ•ด์ค€ ํŒŒ์ผ์„ ์‹คํ–‰์‹œ์ผœ ์ ์šฉํ•˜๊ณ , ๋ฒ„์ „์„ ํ™•์ธํ•˜์—ฌ nvm ์„ค์น˜๋ฅผ ๋งˆ์นฉ๋‹ˆ๋‹ค.

node

์ด์ œ nvm์„ ํ†ตํ•ด node๋ฅผ ์„ค์น˜ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

nvm install 20 ## install ๋’ค์— ์›ํ•˜๋Š” ๋ฒ„์ „์„ ์ž‘์„ฑํ•˜๋ฉด๋œ๋‹ค.

node ์„ค์น˜ ํ›„ ํ™”๋ฉด

์œ„์˜ ์ด๋ฏธ์ง€๊ฐ€ ๋‚˜์˜จ ํ›„ node --version ์„ ํ†ตํ•ด ๋ฒ„์ „์„ ํ™•์ธํ•˜๋ฉด node๊นŒ์ง€ ์„ค์น˜๊ฐ€ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

yarn

npm install -g yarn@berry  

์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด yarn์„ ์ „์—ญ์œผ๋กœ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. (ํšŒ์‚ฌ์—์„œ yarn์„ ์“ฐ๊ธฐ๋•Œ๋ฌธ์— ์ €๋„ ์ต์ˆ™ํ•ด์งˆ๊ฒธ ์‚ฌ์šฉํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.)

๋˜ ํ•ด์•ผํ•  ๊ฒƒ์€?

์ถ”๊ฐ€์ ์œผ๋กœ ๋ณธ์ธ์˜ ์ž…๋ง›์— ๋งž๋Š” IDE๋ฅผ ์„ค์น˜ํ•ด์ฃผ๋Š”๊ฑฐ๊นŒ์ง€๊ฐ€ ์ œ ๊ธฐ์ค€ ์ดˆ๊ธฐ์„ธํŒ…์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์™œ git ์„ค์น˜๋ฅผ ์•ˆํ•˜์ง€? ๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๊ณ ๋ณด๋‹ˆ ์ „ ๋”ฐ๋กœ git์„ ์„ค์น˜ํ•œ ๊ธฐ์–ต์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. (๋งฅ๋ถ๊ธฐ์ค€)
git์ด ์—†๋Š” ์ƒํƒœ์—์„œ git ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋งฅ๋ถ์ด ์•Œ์•„์„œ git์ด ์—†์œผ๋‹ˆ git์„ ์„ค์น˜ํ•˜๋ผ๊ณ  ์•Œ๋ ค์คฌ๊ธฐ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. (๊ทธ๋ž˜์„œ ์ „ํ˜€ ์ธ์ง€๋ฅผ ๋ชปํ•œ.. ๐Ÿ˜)

0๊ฐœ์˜ ๋Œ“๊ธ€