Firebase serve --only ๊ธฐ๋ฅ์ ์คํํ๋ ค๊ณ ํ ๋
๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ ํธ์คํ
๋ง ์คํ๋ฉ๋๋ค.
functions: Cannot start emulator. Error: Cannot find module '@google-cloud/functions-emulator/src/config'
firebase-tools
๋ฅผ ์ค์นํ ๋ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ค์นํ์ง ๋ชปํ ๊ฒ ๊ฐ์ต๋๋ค(์ ํ์ ์ข
์์ฑ์ด๋ฏ๋ก ๊ฐ๋ฅํฉ๋๋ค). npm install -g firebase-tools
๋ฅผ ๋ค์ ์คํํ๊ณ ์ถ๋ ฅ์ ๊ฒ์ฌํ์ฌ @google-cloud/functions-emulator
๊ฐ ํจ๊ป ์ ์
๋์๋์ง ํ์ธํ ์ ์์ต๋๊น?
ํ? ํ์ ์ ์ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํ๋์ด ์์ด ๋ฌธ์ ๋ซ์ ๊ฒ์ ๋๋ค.
๋๋ ๊ฐ์ ์ผ์ํ๊ณ ์๋ฌด ์์ฉ์ด์๋ ๋ชจ๋์ ์ค์นํ๊ณ ๋ค์ ์ค์นํ์ต๋๋ค.
โ Firebase ์๋น์ค --์ ์ฉ ๊ธฐ๋ฅ
=== '์์ ์ ๊ณต
โ ๊ธฐ๋ฅ: ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์ค๋ฅ: '@google-cloud/functions-emulator/src/config' ๋ชจ๋์ ์ฐพ์ ์ ์์ต๋๋ค.
โ npm install -g firebase-tools
npm WARN deprecated [email protected] : ๋์ uuid ๋ชจ๋ ์ฌ์ฉ
/์ง/
=== '์์ ์ ๊ณต
โ ๊ธฐ๋ฅ: ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์ค๋ฅ: '@google-cloud/functions-emulator/src/config' ๋ชจ๋์ ์ฐพ์ ์ ์์ต๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๋ฉฐ์น ๋์์ด ๋ฐฉ๋ฒ์ด์์ต๋๋ค. ์ค๋ ์ ๋ฐ์ดํธ ํ์๋.
@danielsada ๋ฐ @raelmiu ์๋ํด ๋ณผ ์ ์์ต๋๊น?
npm uninstall -g firebase-tools && npm i -g firebase-tools
ํด๋์ต๋๋ค. ์ฃผ๋ชฉํ ๋งํ ๊ฒฝ๊ณ ์ค ์ผ๋ถ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
node-pre-gyp ERR! Tried to download(403): https://storage.googleapis.com/grpc-precompiled-binaries/node/grpc/v1.4.1/node-v59-linux-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for [email protected] and [email protected] (node-v59 ABI) (falling back to source compile with node-gyp)
make: Entering directory '/home/danielsada/.npm-global/lib/node_modules/firebase-tools/node_modules/grpc/build'
๊ทธ ๋ค์์
`> @google-cloud/ [email protected] postinstall /home/
๋ ธ๋ ์คํฌ๋ฆฝํธ/์ ๊ทธ๋ ์ด๋ ๊ฒฝ๊ณ `
๊ทธ๋ฐ ๋ค์ ๋ง์ง๋ง์ผ๋ก ๋์ผํ ์ค๋ฅ
๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ ๊ฑฐ ๋ฐ ์ฌ์ค์น๋ฅผ ์๋ํ์ต๋๋ค.
๋๊ตฌ๋ ์ง ์ด๊ฒ์ ์๋ ์์ผฐ์ต๋๊น? ์ฌ์ ํ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๋ ธ๋ 6.11์ ์ค์นํ๊ณ ๋๊ตฌ๋ฅผ ๋ค์ ์ค์นํ๋๋ฐ๋ ์ฌ์ ํ ์๋ํ์ง ์์ต๋๋ค.
v3.17.2์์ ๋ณต์ ๊ฐ๋ฅ
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ, v3.17.3์ ์ฌ์ฉํด ๋ณผ ์ ์์ต๋๊น? @Mir-Ansar๋ ๊ถํ ์ค๋ฅ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์์ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. https://docs.npmjs.com/getting-started/fixing-npm-permissions
.3 ๋ฐ .2๋ฅผ ์๋ํ์ง๋ง ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.(
์ด์ ๋ํ ํด๊ฒฐ์ฑ ์ด ์์ต๋๊น?
๋ฌธ์ ๋ฅผ ์ฌํํ ์ ์์ด ์ฃ์กํฉ๋๋ค. https://github.com/GoogleCloudPlatform/cloud-functions-emulator/issues/170#issue -278096938๊ณผ ๋น์ทํ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฐ๋ผ์ ํด๋น ๋ฌธ์ ๋ฅผ +1ํ ์ ์์ต๋๋ค.
์๋ํ ์ ์๋ ๋ค๋ฅธ ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
npm i -g npm
npm unintall -g firebase-tools && npm i -g firebase-tools
๋๋ ๋๊ฐ์ ๋ฌธ์ ๊ฐ ์๊ณ ๋๋ถ๋ถ์ ์ฃผ์ด์ง ์๋ฃจ์ ์ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ํจ๊ณผ๊ฐ ์์์ต๋๋ค. ๊ทธ ์ฌ์ด์ ํด๊ฒฐ์ฑ ์ ์ป์ ์ฌ๋์ด ์์ต๋๊น?
๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค
์ด ๋ฌธ์ ์ ์์ธ์ด ์ ํํ ๋ฌด์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์ ์ด โโ๋ฌธ์ ์ ๋ํ ํจ๊ณผ์ ์ธ ํด๊ฒฐ์ฑ ์ด ์์ต๋๋ค. StackOverflow - Firebase: ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์์ํ ์ ์์ต๋๋ค.
npm install -g @google-cloud/functions-emulator
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
@RyanNewsom ์ด ๋๋ฅผ ์ํด ํด๊ฒฐํ์ง ๋ชปํ์ต๋๋ค. ์์ง ๊ณ ์ฅ๋ฌ์ต๋๋ค.
์๋ํ๋ ์๋ฃจ์ ์ด ์์ต๋๊น? ๋ด ์๋ฎฌ๋ ์ดํฐ๊ฐ ์๋ํ์ง๋ง ์ง๊ธ์ ์๋ํ์ง ์์ต๋๋ค.
๋๋ ๋ ๊ฐ์ ์ ์ฌํ ํ๋ก์ ํธ๊ฐ ์๋๋ฐ ํ๋๋ ์๋ํ๊ณ ํ๋๋ ์์ ์ค๋ช ์ ๋ฐ๋ผ ์๋ํ์ง ์์ผ๋ฉฐ ์๋ ์ค์ด๋ Firebase ๋ฐฐํฌ๊ฐ ์ด์ ์ค๋ช ํ ์ ์์ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค. ์ฌ๋ฌ ๋ฌ ๋์ ์ฌ๊ธฐ์ stackOverflow ๋ชจ๋์์ ์ด์ ๊ฐ์ ์ด๋ช ์ผ๋ก ๊ณ ํต๋ฐ๋ ์ฌ๋๋ค์ ์๋ฅผ ๋ณด๋ฉด ๋ ๋ถ์์ง๊ธฐ ์ฌ์ด ์์คํ ์ด ์ ์ ํ ๊ฒ ๊ฐ์ต๋๋ค.
์ด ๋ฌธ์ ์ ์์ธ์ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ Firebase๋ฅผ ์ค์นํ ๋ ์๋ชป๋ Python ๋ฒ์ ๋๋ฌธ์ ๋๋ค.
python 2 ์ ํจ๊ป ์์ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ ๋ค์ ๋ค์ ์คํํ์ญ์์ค.
npm install -g firebase-tools
์ต์ firebase-tools(v3.17.5)๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ ์ข
์์ฑ์ผ๋ก grpc๋ฅผ ์ ๊ฑฐํฉ๋๋ค. npm i -g firebase-tools
๋ฅผ ์คํํ์ฌ ์
๊ทธ๋ ์ด๋ํ์ญ์์ค.
๋๋ฅผ ์ํด ๊ทธ๊ฒ์ ๊ณ ์ณค๋ค.
package.json
์ ๋
ธ๋ ์์ง๊ณผ ๋ค๋ฅธ ๋
ธ๋ ๋ฒ์ ์ด ์์ ๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
ํด๊ฒฐ์ฑ
:
์๋๋ ์์ฌ์ ๋๋ค. ์์ ๋กญ๊ฒ npm์ ์ฌ์ฉํ์ธ์.
# install current working directory dependencies
yarn --ignore-engines
# install firebase-tools if u didn't
yarn global add firebase-tools
# install functions-emulator
yarn global add @google-cloud/functions-emulator --ignore-engines
โ functions: Cannot start emulator. Error: Cannot find module '@google-cloud/functions-emulator/src/config'
(node:15281) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'exit' of undefined
at /usr/local/lib/node_modules/firebase-tools/lib/command.js:82:34
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:15281) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:15281) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
@ddo ๋ฐฉ๋ฒ์ ์๋ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค.
โ functions: Cannot start emulator. Error: Cannot find module '@google-cloud/functions-emulator/src/config' (node:15281) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'exit' of undefined at /usr/local/lib/node_modules/firebase-tools/lib/command.js:82:34 at process._tickCallback (internal/process/next_tick.js:68:7) (node:15281) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2) (node:15281) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
@ddo ๋ฐฉ๋ฒ์ ์๋ํ์ง๋ง ์๋ํ์ง ์์์ต๋๋ค.
์ผํ ํ :
/usr/local/lib/node_modules
์์ firebase-tools ์ญ์ (๋๋ ๋ฃจํธ ์์ค ๋
ธ๋์์ ์ค์น๋ ์ด์ ์ ์ญ ํจํค์ง)sudo
์์ด firebase-tools ์ค์น ( npm i -g firebase-tools
)sdfsdfadf
๋๋ ๋ํ ์ต๊ทผ์ ๋
ธ๋ 8์ ์ฌ์ฉํ๋๋ก ์
๊ทธ๋ ์ด๋ํ๊ณ firebase serve --only functions
๋ฐ firebase-tools
--ignore-engines
๋ฌธ์ ๊ฐ ์์์ต๋๋ค @google-cloud/[email protected]: The engine "node" is incompatible with this module. Expected version "~6". Got "8.1.0"
๊ทธ๊ฒ์ ์ ์คํ๋์ง๋ง ๊ฒฝ๊ณ ๋ฅผ ์ ๊ณตํฉ๋๋ค
[Jest Dev server] $ firebase serve --only functions -p 5000 -o 0.0.0.0
[Jest Dev server]
[Jest Dev server] === Serving from '/Users/xxx/project-name'...
[Jest Dev server]
[Jest Dev server] i functions: Preparing to emulate functions.
[Jest Dev server] Warning: You're using Node.js v8.1.0 but Google Cloud Functions only supports v6.11.5.
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด Firebase ์ฌ์ฉ์ ์ค๋จํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๊ฒ ๋ค์ผ
2018๋ 11์ 14์ผ ์์์ผ ์ค์ 1:03 rilian [email protected] ์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๋๋ ๋ํ ์ต๊ทผ์ ๋ ธ๋ 8์ ์ฌ์ฉํ๋๋ก ์ ๊ทธ๋ ์ด๋ํ์ผ๋ฉฐ Firebase์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
serve --์์ ํ ์ค์นํ์ง ์์ผ๋ ค๋ ๊ธฐ๋ฅ ๋ฐ Firebase ๋๊ตฌ๋ง
@google-cloud/ [email protected] : ์์ง "๋ ธ๋"๋
์ด ๋ชจ๋๊ณผ ํธํ๋์ง ์์ต๋๋ค. ์์ ๋ฒ์ "~6"์ ๋๋ค. "8.1.0"์ด ์์ง๋ง
--ignore-engines๋ ์ ๋ง ๋์์ด ๋ฉ๋๋ค.
๊ฒฝ๊ณ[Jest Dev ์๋ฒ] $ firebase serve --only functions -p 5000 -o 0.0.0.0
[์ ์คํธ ๊ฐ๋ฐ ์๋ฒ]
[Jest Dev ์๋ฒ] === '/Users/xxx/project-name'์์ ์ ๊ณต ์ค...
[์ ์คํธ ๊ฐ๋ฐ ์๋ฒ]
[Jest Dev ์๋ฒ] i functions: ๊ธฐ๋ฅ ์๋ฎฌ๋ ์ด์ ์ค๋น.
[Jest Dev ์๋ฒ] ๊ฒฝ๊ณ : Node.js v8.1.0์ ์ฌ์ฉ ์ค์ด์ง๋ง Google Cloud Functions๋ v6.11.5๋ง ์ง์ํฉ๋๋ค.โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/firebase/firebase-tools/issues/552#issuecomment-438375329 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/Acq9nGZycDnglAuFYQiMNNVaQX9XEyTRks5uuwl-gaJpZM4Qx6cx
.
๊ตฌํด์ค:
yarn global remove @google-cloud/functions-emulator
yarn global add https://github.com/GoogleCloudPlatform/cloud-functions-emulator#master
firebase-admin ๋ฐ ๊ธฐํ ์ผ๋ถ Firebase ํจํค์ง๋ ์
๊ทธ๋ ์ด๋ํ ํ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋
ธ๋ 8์์ ๊ธฐ๋ฅ์ ์คํ ์ค์
๋๋ค --ignore-engines
๋ก Firebase๋ฅผ ์ค์นํ๋์ง ํ์ธํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๋ค.
ํ๋ก์ ํธ์์ ์ฃผ๋ก yarn์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ firebase-tools๋ฅผ ์ค์นํ ๋ yarn ๋์ npm์ ์ฌ์ฉํ์ธ์.
yarn global remove firebase-tools
npm i - g firebase-tools
๋๋ฅผ ์ํด ์ผํ์ต๋๋ค : Mac์ docker ๋ด๋ถ์์์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์๋ฌด๊ฒ๋ ํด๊ฒฐํ์ง ๋ชปํ์ต๋๋ค. Mac์ ์ค์นํ ๋ค์ docker์ node_modules
๋ณต์ฌํ์ต๋๋ค. ๊ทธ๊ฒ ํจ๊ณผ๊ฐ ์์๋ค.
๋ํ ๋
ธ๋ 8 ๊ธฐ๋ฅ์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์
ํ ํ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ธ๊ธํ ๋๋ก --ignore-engines
๋ฅผ ์ฌ์ฉํ์ง๋ง ์ฌ์ ํ ์ด ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
๊ฒฝ๊ณ : Node.js v8.14.0์ ์ฌ์ฉ ์ค์ด์ง๋ง Google Cloud Functions๋ v6.11.5๋ง ์ง์ํฉ๋๋ค.
@Dygerati ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
์ด๊ฒ์ด ๋ด๊ฐ ์ป์ ๊ฒ์ ๋๋ค. ๋๊ตฌ๋ ์ง์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ์ต๋๊น?
functions: Cannot start emulator. Error: Cannot find module './acceleratedmobilepageurl/v1'
(node:16724) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'exit' of undefined
at C:\....\node_modules\firebase-tools\lib\command.js:82:34
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:16724) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rej
ection id: 2)
(node:16724) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
npm install @google-cloud/functions-emulator --save-dev
ํด๊ฒฐ๋จ
์ข์ต๋๋ค. Google Cloud-functions-emulator๋ "Node v6.xx๋ง ์ง์ํฉ๋๋ค. Node v8.xx๋ ์ง์ํ์ง ์์ต๋๋ค."
https://github.com/GoogleCloudPlatform/cloud-functions-emulator#note
๋
ธ๋ ๋ฒ์ ์ ํ์ ๋ํ Firebase ๋ฌธ์์๋ ๋
ธ๋ 8 "engines": {"node": "8"}
์ ์ฌ์ฉํ ์ ์๋ค๊ณ ๋์ ์์ต๋๋ค.
ํ์ง๋ง ๋ฒ ํ ๋ฒ์ ์
๋๋ค..
https://firebase.google.com/docs/functions/manage-functions#set_nodejs_version
ํ ... ๊ทธ๋์ node8์ ์ฌ์ฉํ ์ ์์ง๋ง ํด๋ผ์ฐ๋ ๊ธฐ๋ฅ ์
ธ์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ์์ ํ
์คํธํ ์ ์์ต๋๋ค(node8 ํน์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ)?
๋์๊ฒ ์ด ๊ถ๋ฆฌ๊ฐ ์์ต๋๊น?
Firebase ํ/๊ตฌ๊ธ ํ, ํด๋ผ์ฐ๋ ๊ธฐ๋ฅ ์๋ฎฌ๋ ์ดํฐ๊ฐ ๋
ธ๋ 8์์ ์๋ํ์ง ์๋๋ค๋ ๋ฌธ์๋ฅผ ์์ฑํด ์ฃผ์๋ฉด ๋์์ด ๋ ๊ฒ์
๋๋ค.
์๋ฅผ ๋ค์ด ์ด ํ์ด์ง์์ https://firebase.google.com/docs/functions/manage-functions#set_nodejs_version ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
"๋ฐํ์์ ๋ ธ๋ 8๋ก ์ค์ ํ ์ ์์ง๋ง google cloud-functions-emulator๋ก ํ ์คํธํ๋ฉด node6.xx๋ฅผ ์ฌ์ฉํ๊ณ node8 ํน์ ๊ตฌ๋ฌธ์ ์๋ํ์ง ์์ต๋๋ค."
์ฌ๊ธฐ์ ๋น์ทํ ๊ฒฝ๊ณ ๊ฐ ๋์์ด ๋ ๊ฒ์
๋๋ค
https://firebase.google.com/docs/functions/local-emulator#install_and_configure_the_cloud_functions_shell
๊ทํ๊ฐ ๋ณด๋ธ ์ด๋ฉ์ผ์์๋ (2019๋
2์ 25์ผ)
์ ๋ชฉ: [์กฐ์น ํ์] 4์ 1์ผ๋ถํฐ ์๋ก์ด Cloud Functions ๋ฐฐํฌ๋ฅผ ์ํ ๋ฐํ์ ๋ณ๊ฒฝ ์ฌํญ
@julianorinyol ๊ณผ ๋๊ฐ์ ์ง๋ฌธ์ผ๋ก ์ฌ๊ธฐ์ ์์ต๋๋ค. Node 8 ๊ตฌ๋ฌธ๊ณผ ํธํ๋๋ ์ง์ ๊น์ง ์๋ฎฌ๋ ์ดํฐ๋ฅผ ๋ง๋ค ๊ณํ์ด ์์ต๋๊น?
๋
ธ๋ 8(์์ฌ ํฌํจ)์์ ์ฌ์ฉํ๋ฉด ์ด๊ฒ์ด ๋๋ฅผ ์ํด ์ผํ ๊ฒ์
๋๋ค.
yarn add @google-cloud/functions-emulator --ignore-engines
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
package.json
์ ๋ ธ๋ ์์ง๊ณผ ๋ค๋ฅธ ๋ ธ๋ ๋ฒ์ ์ด ์์ ๋ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.ํด๊ฒฐ์ฑ :
์๋๋ ์์ฌ์ ๋๋ค. ์์ ๋กญ๊ฒ npm์ ์ฌ์ฉํ์ธ์.