Firebase-tools: firebase.json 'functions.ignore'๋Š” ํŒจํ‚ค์ง€ ์—…๋กœ๋“œ๋ฅผ ๋ถ€ํ’€๋ฆฝ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2019๋…„ 08์›” 15์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: firebase/firebase-tools

์‚ญ์ œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. validate_template=true template_path=.github/ISSUE_TEMPLATE/bug_report.md Firebase ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๊ธฐ์—ฌํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! md5-cd82511516d4d120ac6f38b938897bc8 ์˜ˆ, ์šฐ๋ฆฌ๋Š” ํ™•์‹คํžˆ ์™„๋ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค! ์ด ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ์—ด โ€‹โ€‹๋•Œ ์ตœ์†Œํ•œ์˜ ์žฌํ˜„์„ ํฌํ•จํ•˜์‹ญ์‹œ์˜ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ๊ณ„์‹œ๋‹ค๋ฉด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์‹œ๋ฉด ๊ธฐ๊บผ์ด ๊ฒ€ํ† ํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค! md5-d1dc1414712186318d009e8257a27e48 ์ข‹์Šต๋‹ˆ๋‹ค. ์ œํ’ˆ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋“ฃ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค! ๊ทธ๋Ÿฌ๋‚˜ ์ด ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋Šฅ ์š”์ฒญ์„ ์ œ์ถœํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๊ธฐ๋Šฅ ์š”์ฒญ์„ ๋‹ค์Œ ์ฃผ์†Œ๋กœ ์ œ์ถœํ•ด ์ฃผ์„ธ์š”. https://firebase.google.com/support/contact/bugs-features/ md5-a11e3d9ea91af19a593bf84612124e1a ๋งŽ์€ ์š”์ฒญ์„ ๋ฐ›๊ณ  ์žˆ์œผ๋ฉฐ ๊ธฐ๊บผ์ด ๋„์™€๋“œ๋ฆฌ๊ณ  ์žˆ์ง€๋งŒ GitHub๋Š” ์ด๋Ÿฌํ•œ ์š”์ฒญ์„ ์œ„ํ•œ ์ตœ์ ์˜ ์žฅ์†Œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ์‡„๋ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๊ฐ€์ด๋“œ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”. https://firebase.google.com/docs/cli/ ๊ณต์‹ ๋ฌธ์„œ๊ฐ€ ๋„์›€์ด ๋˜์ง€ ์•Š์œผ๋ฉด ๊ณต์‹ ์ง€์› ์ฑ„๋„(https://firebase.google.com/)์„ ํ†ตํ•ด ๋ฌธ์˜ํ•ด ๋ณด์„ธ์š”. support/ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์†”๋ฃจ์…˜์ด๋‚˜ ์ง€์›์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ถ”๊ฐ€ ์œ„์น˜: - Stack Overflow: https://stackoverflow.com/ - Firebase Slack ์ปค๋ฎค๋‹ˆํ‹ฐ: https://firebase.community/ *์—ฌ๋Ÿฌ ์ฑ„๋„์— ์ค‘๋ณต ๊ฒŒ์‹œ๋ฅผ ๋ฐฉ์ง€ํ•˜์„ธ์š”!*

ํ™˜๊ฒฝ ์ •๋ณด


Firebase ๋„๊ตฌ:

firebase --version
7.2.2


ํ”Œ๋žซํผ:
MacOS(10.14.6(18G87)) ๋ฐ Windows 10 ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๋ชจ๋‘.

ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค


MCVE: Firebase ํ•จ์ˆ˜ ํ…œํ”Œ๋ฆฟ + firebase.json ์˜ 'functions.ignore' ์„น์…˜

์žฌํ˜„ ๋‹จ๊ณ„

Firebase ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์˜ต์…˜์œผ๋กœ Firebase ์ดˆ๊ธฐํ™” ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๊ณ  ์ƒˆ ํ”„๋กœ์ ํŠธ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

firebase init functions

index.js ์—์„œ helloWorld ์ƒ˜ํ”Œ ํ•จ์ˆ˜์˜ ์ฃผ์„ ์ฒ˜๋ฆฌ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋‹ค์Œ์„ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.

โ‹Š> ~/D/f/functions firebase deploy                                                                                    11:02:38

=== Deploying to 'test-function-deploy-3a957'...

i  deploying functions
i  functions: ensuring necessary APIs are enabled...
โœ”  functions: all necessary APIs are enabled
i  functions: preparing functions directory for uploading...
i  functions: packaged functions (22.95 KB) for uploading
โœ”  functions: functions folder uploaded successfully
i  functions: updating Node.js 8 function helloWorld(us-central1)...
โœ”  functions[helloWorld(us-central1)]: Successful update operation. 

โœ”  Deploy complete!

Project Console: https://console.firebase.google.com/project/test-function-deploy-3a957/overview
โ‹Š> ~/D/f/functions

๋ฐฐํฌ๋œ ํŒจํ‚ค์ง€ ํ•จ์ˆ˜ ํฌ๊ธฐ(22.95KB)๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

'functions.ignore' ์„น์…˜์„ ํฌํ•จํ•˜๋„๋ก firebase.json ๋ฅผ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค.

{
  "functions": {
    "ignore": []
  }
}

๋‹ค์‹œ ๋ฐฐํฌ:

โ‹Š> ~/D/f/functions firebase deploy                                                                                    11:03:24

=== Deploying to 'test-function-deploy-3a957'...

i  deploying functions
i  functions: ensuring necessary APIs are enabled...
โœ”  functions: all necessary APIs are enabled
i  functions: preparing functions directory for uploading...
i  functions: packaged functions (9.07 MB) for uploading
โœ”  functions: functions folder uploaded successfully
i  functions: updating Node.js 8 function helloWorld(us-central1)...
โœ”  functions[helloWorld(us-central1)]: Successful update operation. 

โœ”  Deploy complete!

Project Console: https://console.firebase.google.com/project/test-function-deploy-3a957/overview
โ‹Š> ~/D/f/functions 

๋ฐฐํฌ๋œ ํŒจํ‚ค์ง€๋Š” 22.95KB ์—์„œ 9.07MB ๋กœ ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ƒ๋˜๋Š” ํ–‰๋™

๋ฌด์‹œํ•˜๋ฉด ๋ฐฐํฌ๋œ ํŒจํ‚ค์ง€๊ฐ€ ์ปค์ง€์ง€ ์•Š๊ณ  ์ž‘์•„์งˆ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ ํ–‰๋™

๋ฐฐํฌ๋œ ํŒจํ‚ค์ง€์˜ ํฌ๊ธฐ๋Š” 22.95KB์—์„œ 9.07MB๋กœ ์ˆ˜์‹ญ ๋ฐฐ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ ์ด ๊ฒฝ์šฐ ๋กœ์ปฌ node_modules ์„ ํฌํ•จํ•œ functions ํด๋”์˜ ํฌ๊ธฐ๋Š” 29MB์ž…๋‹ˆ๋‹ค. node_modules ํด๋” ์ž์ฒด๋Š” ๋””์Šคํฌ์— 28.9MB์ด๊ณ  ~6MB gzip์œผ๋กœ ์••์ถ•๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์•„๋งˆ๋„ tsc ๋ถ€๋ถ„ ์ดํ›„์— ๋ฌธ์ œ๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— TypeScript ํ”„๋กœ์ ํŠธ์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

๋…ผํ‰

firebase.json ๊ตฌ์„ฑ ํŒŒ์ผ, ํŠนํžˆ functions ์„น์…˜์— ๋Œ€ํ•œ ์ข‹์€/๊ฒฐ์ •์ ์ธ ๋ฌธ์„œ๋ฅผ ์•„์ง ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— hosting ์„น์…˜์— ๋Œ€ํ•œ ๋ฌธ์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค . functions.ignore ๊ตฌ์กฐ/์‚ฌ์šฉ์— ๋Œ€ํ•œ ๋‚˜์˜ ์ดํ•ด๋Š” ํ˜„์žฌ https://github.com/firebase/firebase-tools/issues/291#issuecomment -322526710์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

@laurenzlong ์ด ignore ์„น์…˜์ด ์ž‘๋™/์ˆ˜์ •๋˜์–ด์•ผ ํ•จ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ด€๋ จ ๋ฌธ์ œ #429๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ด๋ฆฐ ์งˆ๋ฌธ

๋ฐฐํฌํ•˜๊ธฐ ์ „์— ๋ฐฐํฌ๋œ ํŒจํ‚ค์ง€๊ฐ€ ๋กœ์ปฌ๋กœ ๋นŒ๋“œ๋˜๋Š” ์œ„์น˜๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? --debug๋กœ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ์œ ์šฉํ•œ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌ ํ•ด์š”!

๊ณ ๋ คํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋ฆฌ๊ณ  ๋‚ด ์ „ํ™” ํ…Œ๋”๋ง ๋ฐ์ดํ„ฐ ๊ณ„ํš์€ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ๊ฐ€ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์ „์— ~55MB์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. :)

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

๊ท€ํ•˜๊ฐ€ ์„ค๋ช…ํ•œ ๋™์ž‘์€ ์ œ๊ฐ€ ์˜ˆ์ƒํ•˜๋Š” ๋™์ž‘์ž…๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ์ง€์ ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฌธ์„œ ์—๋Š” functions.ignore ๊ฐ€ ์„ค๋ช…๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ CLI์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค .

๋น„๊ณต์‹์ ์œผ๋กœ(_undocumented_) firebase.ignore ์˜ ๊ธฐ๋ณธ๊ฐ’์€ ["node_modules"] ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ ์ค‘์— ์—…๋กœ๋“œํ•ด์•ผ ํ•˜๋Š” ํ•ญ๋ชฉ์˜ ์–‘์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ปค์งˆ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•  ์ˆ˜ ์žˆ์Œ). package.json firebase.ignore ๋ฅผ ์„ค์ •ํ•˜๋ฉด CLI์— _์•„๋ฌด๊ฒƒ๋„_ ๋ฌด์‹œํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์ด์ œ node_modules ํด๋”๊ฐ€ ์•„์นด์ด๋ธŒ์— ํฌํ•จ๋˜์–ด Functions๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜๊ธฐ ์œ„ํ•ด: ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋†’์€ ์ˆ˜์ค€์˜ ์„ค๋ช…์—์„œ CLI๋Š” ๋กœ์ปฌ๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋นŒ๋“œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€๋žต ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ํ•จ์ˆ˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์‚ฌ์ „ ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค( firebase.json ์—๋„ ์ง€์ •๋จ).
  2. ๋ฐฐํฌํ•  ํ•จ์ˆ˜์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
  3. ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์••์ถ•(์ผ๋ฐ˜์ ์œผ๋กœ node_modules ๋ฌด์‹œ)ํ•˜๊ณ  Functions์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์—…๋กœ๋“œ๋˜๋ฉด Functions ์ธํ”„๋ผ๋Š” npm install package.json #$8$#$๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์†Œ์Šค๋Š” ์ด๋™ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ค€๋น„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค(์ ์–ด๋„ ์ด ๋งค์šฐ ์†์‰ฌ์šด ์„ค๋ช…์—์„œ๋Š”).

๊ท€ํ•˜์˜ ์งˆ๋ฌธ์— ๋‹ต๋ณ€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์—๋Š” CLI ๊ด€๋ จ ๋ฒ„๊ทธ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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

๊ท€ํ•˜๊ฐ€ ์„ค๋ช…ํ•œ ๋™์ž‘์€ ์ œ๊ฐ€ ์˜ˆ์ƒํ•˜๋Š” ๋™์ž‘์ž…๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ์ง€์ ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฌธ์„œ ์—๋Š” functions.ignore ๊ฐ€ ์„ค๋ช…๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ CLI์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค .

๋น„๊ณต์‹์ ์œผ๋กœ(_undocumented_) firebase.ignore ์˜ ๊ธฐ๋ณธ๊ฐ’์€ ["node_modules"] ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ ์ค‘์— ์—…๋กœ๋“œํ•ด์•ผ ํ•˜๋Š” ํ•ญ๋ชฉ์˜ ์–‘์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋งค์šฐ ๋น ๋ฅด๊ฒŒ ์ปค์งˆ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ์ƒํ•  ์ˆ˜ ์žˆ์Œ). package.json firebase.ignore ๋ฅผ ์„ค์ •ํ•˜๋ฉด CLI์— _์•„๋ฌด๊ฒƒ๋„_ ๋ฌด์‹œํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ์ด์ œ node_modules ํด๋”๊ฐ€ ์•„์นด์ด๋ธŒ์— ํฌํ•จ๋˜์–ด Functions๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์งˆ๋ฌธ์— ๋‹ตํ•˜๊ธฐ ์œ„ํ•ด: ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๋†’์€ ์ˆ˜์ค€์˜ ์„ค๋ช…์—์„œ CLI๋Š” ๋กœ์ปฌ๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋นŒ๋“œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€๋žต ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ํ•จ์ˆ˜์— ๋Œ€ํ•œ ๋ชจ๋“  ์‚ฌ์ „ ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค( firebase.json ์—๋„ ์ง€์ •๋จ).
  2. ๋ฐฐํฌํ•  ํ•จ์ˆ˜์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
  3. ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์••์ถ•(์ผ๋ฐ˜์ ์œผ๋กœ node_modules ๋ฌด์‹œ)ํ•˜๊ณ  Functions์— ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ์—…๋กœ๋“œ๋˜๋ฉด Functions ์ธํ”„๋ผ๋Š” npm install package.json #$8$#$๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์†Œ์Šค๋Š” ์ด๋™ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ค€๋น„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค(์ ์–ด๋„ ์ด ๋งค์šฐ ์†์‰ฌ์šด ์„ค๋ช…์—์„œ๋Š”).

๊ท€ํ•˜์˜ ์งˆ๋ฌธ์— ๋‹ต๋ณ€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์—๋Š” CLI ๊ด€๋ จ ๋ฒ„๊ทธ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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

#291์„ ๊ธฐ๋ฐ˜์œผ๋กœ CLI๊ฐ€ _ํ•ญ์ƒ_ node_modules๋ฅผ ์ œ์™ธํ•˜๊ณ  functions.ignore ์— ์žˆ๋Š” ๋‚ด์šฉ์ด ์ถ”๊ฐ€์ ์ด๋ผ๊ณ  ์ž˜๋ชป ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. node_modules์— ๋Œ€ํ•œ ๋ช…์‹œ์  ํŒจํ„ด์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์„ค๋ช…ํ•œ ๋Œ€๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

@bkendall ์™œ ๋ฌธ์„œํ™”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

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