๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

[mac OS]๊นƒ & ๊นƒํ—ˆ๋ธŒ ์‹ค์Šต

by ithink 2023. 8. 23.
๋ฐ˜์‘ํ˜•

๐Ÿ’ป mac OS ๊ธฐ๋ฐ˜ ๊นƒ ๊นƒํ—ˆ๋ธŒ ํ™œ์šฉํ•œ ํ”„๋กœ์ ํŠธ ์‹ค์Šต

๐Ÿ‘‰ ๊นƒ(Git) ๊นƒํ—ˆ๋ธŒ(Github)๋ฅผ ์ฒ˜์Œ ๋ฐฐ์šฐ๋Š” ํ•™์Šต์ž๋“ค์—๊ฒŒ ๋ถ„๋ช… ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š” ๊นƒ(Git)๊ณผ ๊นƒํ—ˆ๋ธŒ(Github)๋ฅผ ์œ„ํ•œ express.js ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

 

๐Ÿ” Express.js

๐Ÿ‘‰ Express.js ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ API๋ฅผ ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด Node.js ๊ธฐ๋ฐ˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

 

๐Ÿ” express-generator ๋„๊ตฌ

๐Ÿ‘‰ express-generator๋Š” Express.js ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ์™€ ํŒŒ์ผ์„ ์ž๋™ ์ƒ์„ฑํ•ด ์ฃผ๋Š” ์œ ์šฉํ•œ ๋„๊ตฌ๋กœ์„œ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

๐ŸŽฏ ๊นƒ(Git) ๊นƒํ—ˆ๋ธŒ(Github) ์—ฐ์Šต์„ ์œ„ํ•œ ํ•„์š”ํ•œ ํ™˜๊ฒฝ ๊ตฌ์ถ• ๋ฐ ์„ค์น˜

โœ… ์ฒดํฌ ํฌ์ธํŠธ

1๏ธโƒฃ mac OS ํ„ฐ๋ฏธ๋„ ์‹คํ–‰ ๋ฐ ๋ช…๋ น์–ด ์ˆœ์„œ๋Œ€๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

// Node.js ์„ค์น˜
brew install node

// version ํ™•์ธ ๋งŒ์•ฝ, version ํ™•์ธ ์•ˆ๋˜๋ฉด node ์„ค์น˜ ์‹คํŒจ์ด๊ธฐ ๋•Œ๋ฌธ์— ์žฌ์„ค์น˜ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
node --version

// ์ƒˆ ํด๋” ์ƒ์„ฑ(ํด๋”๋ช…์„ ์ •ํ•˜์„ธ์š”)
mkdir "์ƒˆ ํด๋”"

// ์ƒˆ ํด๋” ์ด๋™
cd "์ƒˆ ํด๋”"

// sudo npm ๋ช…๋ น์–ด ์‚ฌ์šฉ express-generator ๋„๊ตฌ ์ „์—ญ ์„ค์น˜
sudo npm install express-generator -g

 

2๏ธโƒฃ ์ƒˆ Express.js ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

// ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
express github --no-view

3๏ธโƒฃ ์ƒˆ๋กœ ๋งŒ๋“  "์ƒˆ ํด๋”" ์ด๋™ํ•œ ํ›„,

 

4๏ธโƒฃ "ํŒจํ‚ค์ง€ ์„ค์น˜"ํ•ฉ๋‹ˆ๋‹ค.

// ํŒจํ‚ค์ง€ ์„ค์น˜
npm install

 

5๏ธโƒฃ express ์„œ๋ฒ„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

// localhost:3000 ์„œ๋ฒ„ ์‹คํ–‰
npm start

 

6๏ธโƒฃ ์›น ๋ธŒ๋ผ์šฐ์ €(Chrome) ์ฃผ์†Œ ์ฐฝ localhost:3000 ์ž…๋ ฅ ๋ฐ ํ™•์ธ

์ง€๊ธˆ๊นŒ์ง€ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ž‘์—… ํŒŒ์ผ๋“ค์ด ๋‚ด ์ปดํ“จํ„ฐ git-github-project ํด๋” ์•ˆ ์ €์žฅ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

[git-github-project ํด๋”] - [github ํด๋”]

 

๐ŸŽฏ ๊นƒ ์ง€์—ญ ์ €์žฅ์†Œ(Git Local Storage) ํŒŒ์ผ ํ™˜๊ฒฝ ์„ค์ •

โœ… ์ฒดํฌ ํฌ์ธํŠธ

 

1๏ธโƒฃ ๊นƒ ์ง€์—ญ ์ €์žฅ์†Œ(Git Local Storage) ์ƒ์„ฑ

// Git ํ˜‘์—… ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ €์žฅ์†Œ ์ƒ์„ฑ initialized(์ดˆ๊ธฐํ™”ํ•˜๋‹ค)
git init

 

2๏ธโƒฃ ๊นƒ ์‚ฌ์šฉ์ž ๋“ฑ๋ก ๋ฐ ์‚ฌ์šฉ์ž ๋“ฑ๋ก ํ™•์ธ

// ๊นƒ ์‚ฌ์šฉ์ž ๋“ฑ๋ก
git config user.name "์‚ฌ์šฉ์ž๋ช…"

// ๊นƒ ์‚ฌ์šฉ์ž Email ๋“ฑ๋ก
git config user.email "E-mail"

// ์‚ฌ์šฉ์ž ๋“ฑ๋ก ํ™•์ธ
cat .git/config

๊นƒ ๋กœ์ปฌ ์‚ฌ์šฉ์ž ๋“ฑ๋ก ํ™•์ธ ํ™”๋ฉด

3๏ธโƒฃ [New repository] ํด๋ฆญ - [Repository Name] github ์ž…๋ ฅ - [Create repository] ํด๋ฆญ

๊นƒํ—ˆ๋ธŒ ์›๊ฒฉ ์ €์žฅ์†Œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊นƒํ—ˆ๋ธŒ ์›๊ฒฉ ์ €์žฅ์†Œ ์ƒ์„ฑ ํ™”๋ฉด

4๏ธโƒฃ "๋‚ด ์ปดํ“จํ„ฐ ์ €์žฅ์†Œ"์™€ "๊นƒํ—ˆ๋ธŒ ์›๊ฒฉ ์ €์žฅ์†Œ" ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

git remote add origin "๊นƒํ—ˆ๋ธŒ ์›๊ฒฉ ์ €์žฅ์†Œ URL"

[remote "origin"] ์ถ”๊ฐ€๋œ ์ •๋ณด ํ™•์ธ ํ™”๋ฉด

5๏ธโƒฃ .gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

// .gitignore ํŒŒ์ผ ์ƒ์„ฑ
touch .gitignore

// .gitignore ํŒŒ์ผ ์ˆ˜์ •
nano .gitignore

6๏ธโƒฃ ๊นƒ ํŒŒ์ผ ๋“ฑ๋ก ๋ฐ ์ปค๋ฐ‹ ์ƒ์„ฑ

// ํ˜„์žฌ ์ž‘์—… ์ƒํƒœ ํ™•์ธ
git status

// ๋ณ€๊ฒฝ๋œ <๋ชจ๋“  ํŒŒ์ผ> ์ถ”๊ฐ€
git add .

7๏ธโƒฃ ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๋“ฑ๋ก

// ์ปค๋ฐ‹
git commit

// log ํ™•์ธ
git log

์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ "Add initial files plus .gitignore"

8๏ธโƒฃ ๊นƒ ๋ธŒ๋žœ์น˜ main ์„ค์ •

// Git branch master ๐Ÿ‘‰ main ์„ค์ •
git branch -M main

9๏ธโƒฃ ๊นƒํ—ˆ๋ธŒ ์›๊ฒฉ ์ €์žฅ์†Œ ์ปค๋ฐ‹์„ ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.

git push origin main

๊นƒ ํ—ˆ๋ธŒ ์›๊ฒฉ ์ €์žฅ์†Œ ์ปค๋ฐ‹ing

โœ… ๊นƒ ํ—ˆ๋ธŒ ์›๊ฒฉ ์ €์žฅ์†Œ์— ์ตœ์ข… ๋ฐ˜์˜๋œ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค.

๊นƒ ํ—ˆ๋ธŒ ์›๊ฒฉ ์ €์žฅ์†Œ ๋ฐ˜์˜๋œ ์ปค๋ฐ‹ ํด๋” ๋ฐ ํŒŒ์ผ

๐Ÿ”Ÿ mac OS ํ„ฐ๋ฏธ๋„ npm start ์‹คํ–‰ ๋ฐ ์›น ๋ธŒ๋ผ์šฐ์ € localhost:3000 ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

// npm ๋ช…๋ น์–ด ์‹คํ–‰
npm start

localhost:3000 ํŽ˜์ด์ง€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ํ™”๋ฉด

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€