์ ๋ง ์ ๋ง ๋ค๋ฆ๊ฒ .. GDSC์์ ์คํฐ๋๋ก ์งํํ๋ ํ์ด์ง ๋ฐฐํฌ๋ฅผ ๋ง๋ฌด๋ฆฌ์ง์๋ค. ์ต์ข
๋ชฉํ๊ฐ ํ๋ก์ ํธ๋ฅผ ๋ง๋ฌด๋ฆฌ์ง๊ณ github
ํ์ด์ง๋ก ๋ฐฐํฌ๋ฅผ ๋ง๋ฌด๋ฆฌํ๋ ๊ฒ์ด์๊ธฐ ๋๋ฌธ์ ๋ฐฐํฌ๋ฅผ ํ๋ ค๊ณ Npm ์ธํ
์ ์ด๊ฒ์ ๊ฒ ๋ง๋ฌด๋ฆฌํ๋ ค๊ณ ์กฐ๊ธ ๊ณ ์์ ํ๋ค.
2022๋
9์์ ์์ํ ํ๋ก์ ํธ์ด๊ธฐ๋ ํ๊ณ ํด์, node๋ React๋ฒ์ ์ด๋ ๋ค๋ฅธ ํจํค์ง ๋ฑ๋ฑ๋ ๋ฒ์ ์ด ๋ง์ง ์๋ ๊ฒ์ด ๋ง์์ gh page
ํจํค์ง๋ฅผ ๊น๋ ๋ฐ์๋ ์ ๋ง ๋ง์ ์๊ฐ์ด ๋ค์๋ค.
์ด๋ฒ ๊ธ์์๋ ๋ด๊ฐ ๋ง์ฃผ์ณค๋ Npm ์ธํ
์ค๋ฅ๋ค๊ณผ ๊ทธ์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์์ฑํ๊ณ ์ ํ๋ค.
๋จผ์ , githubํ์ด์ง๋ก ๋ฐฐํฌํ๊ธฐ ์ํด์๋ ๋ฐฐํฌ๋ฅผ ์ํ gh page
ํจํค์ง๋ฅผ ์ค์นํด์ฃผ์ด์ผ ํ๋ค.
npm install --save gh-pages
ํ์ง๋ง ์ค์น๋ฅผ ํ๊ธฐ๋ง ํ๋ฉด, ์๋์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๋ด๊ฐ ์ฌ์ฉํ๊ณ ์๋ ๊ฒ์ React ๋ฒ์ 18.2.0
์ด์๋๋ฐ, ๋ด๊ฐ ์ฌ์ฉํ๊ณ ์๋ ํจํค์ง๋ค์ด React ๋ฒ์ ๊ณผ ๋ง์ง ์์์ ์ค๋ฅ๊ฐ ๊ณ์ ๋ฐ์ํ์๋ค.
์ ์ฌ์ง์ ๋ฒ์ ์ค๋ฅ ์์ ํ๋ฉด์ด๋ค.
์์ ํ๋ฉด์์ ๋ณด์ด๋ฏ์ด, react-virtualized
์ ๊ฐ์ ํจํค์ง๋ ํน์ React ๋ฒ์ ์ ์๊ตฌํ๋๋ฐ react๊ฐ ๊ฐ์ง๊ณ ์๋ ํจํค์ง๋ ์ด์ ๋ง์ง ์์์ ๋ฐ์ํ๋ ๊ฒ์ด๋ค. ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋ณด๋ฉด ๋ณด๋ผ์์ผ๋ก ํ์ด๋ผ์ดํธ ๋์ด peer
๋ผ๊ณ ์์ฑ๋ ๋ถ๋ถ์ด ์๋ค. ์ด๊ฒ์ ๋ฐ๋ก peerDependencies๋ผ๋ ๊ฑด๋ฐ, ๋์ ํจํค์ง๊ฐ ๋ค๋ฅธ ํจํค์ง์ ํน์ ๋ฒ์ ๊ณผ ํธํ๋๋ค๋ ๊ฒ์ ๋ปํ๋ค.
์ฒ์์๋ ํด๋น ํจํค์ง์ ๋ฒ์ ์ ๋ง์ถ๊ธฐ ์ํ์ฌ ์๋ ๋ช
๋ น์ด๋ฅผ ํตํ์ฌ ํด๊ฒฐ์ ํด ๋ณด๋ ค๊ณ ํ์๋ค.
npm install react@^16.8.0 react-dom@16.8.0
ํ์ง๋ง, ์ด๋ ๊ฒ ๋ฒ์ ์ ๊ฐ์ ๋ก ๋ง์ถ ์๋ก ๋ค๋ฅธ ํจํค์ง์ ๋ํ ๋ฒ์ ์ด ๋ค์ ๊ผฌ์ด๊ฒ ๋๊ณ , ์์กด์ฑ์ ๋ง์๋๋ก ๋ณ๊ฒฝํ๋ค๊ฐ๋ react-dom
์ ๋ํ ์์กด์ฑ๋ ๋ชจ๋ ๊ผฌ์ด๊ฒ ๋์ด์ ์ฐธ ๊ณจ์น๊ฐ ์ํ๊ฒ ๋๋ค...๐ฅน
๊ทธ๋ผ ์ด๋ป๊ฒ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๊น?
npm6 ๋ฒ์ ๊น์ง๋ ์ด๋ฌํ ํ์์ ๋ํ์ฌ Warn๋ฉ์ธ์ง๋ง ๋ณด์๋๋ฐ, ์ด์ 7๋ฒ์ ๋ถํฐ๋ peer dependencies ์๋ ์ค์น๊ฐ ์งํ๋์ด, ๋ง์ง ์๋ ํจํค์ง์ ๋ํ์ฌ ์ค์ ์๋ฌ๋ฉ์ธ์ง๋ฅผ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์ฐธ ํด๊ฒฐํ๊ธฐ ํ๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋๋ ํด๊ฒฐ์ ํด์ผ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ ์ ์์ผ๋ ๊ผญ ์ ๋ฆฌํด์ผ ํ๋ ๋ฌธ์ ์ด๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๊ฐ์ง๋ก ์ ๋ฆฌํ ์ ์๊ฒ ๋ค.
1. --force
๋ช
๋ น์ด๋ฅผ ์ด์ฉํ๋ค.
2. --legacy-peer-deps
๋ช
๋ น์ด๋ฅผ ์ด์ฉํ๋ค.
๊ทธ๋ผ ๋๊ฐ์ง ๋ช
๋ น์ด์ ์ฐจ์ด์ ์ ๋ฌด์์ด๋ฉฐ, ๊ทธ ๋์ ์ด๋ค ๊ธฐ๋ฅ์ ํ๊ณ ์์๊น?
๋จผ์ , --force
๋ช
๋ น์ด์ ๋ํ ์ ๋ฆฌ์ด๋ค.
force๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ถฉ๋์ ์ฐํ์ํฌ ์ ์๋๋ฐ, peer dependency๋ค์ ๋ฃจํธ ํ๋ก์ ํธ์ ์ค์นํ์ฌ ์๋ฌ๋ฅผ ํด๊ฒฐํ๋ค. ํ์ํ ๊ฒฝ์ฐ ํจํค์ง ์์กด์ฑ์ ์ํด ์ถ๊ฐ์ ์ธ ํจํค์ง๋ฅผ ์ค์นํ ์ ์๋ค.
๋ค์์ผ๋ก, --legacy-peer-deps
๋ช
๋ น์ด๋ ์ด๋ค ์ญํ ์ ํ๋์ง ์์๋ณด์.
peerDependency๊ฐ ๋ง์ง ์์๋, ๊ทธ๊ฒ์ ๋ฌด์ํ๊ณ ์ค์นํ๋ค.
๋ณดํต --force
๋ฅผ ์ฌ์ฉํ์์ ๋, ๋ ํ์ํ ์์กด์ฑ์ ์ถ๊ฐ๋ก ์ค์นํด์ฃผ๊ธฐ ๋๋ฌธ์ ๋จผ์ force
๋ฅผ ์ด์ฉํ์ฌ ์ค์น๋ฅผ ์๋ํด ๋ณด๊ณ , --legacy-peer-deps
๋ฅผ ์ฌ์ฉํ์ฌ ์ค์น๋ฅผ ์๋ํด ๋ณด๋ ๊ฒ๋ ์ข๋ค.
๋๋ ํ์๋ฅผ ์ด์ฉํ์ฌ ์ฑ๊ณต์ ์ผ๋ก gh-page
ํจํค์ง๋ฅผ ์ค์น ์๋ฃํ์๋ค.
์ค์น๋ฅผ ์ ํ๊ณ , npm run deploy
๋ฅผ ํ๋ ์ด๋ฐ ์๋ฌ๋ฅผ ๋ง์ฃผ์ณค๋ค.
๋ค๋ฅธ ์๋ฌ๋ค์ ๋ง๋ ์ด๋ฏธ ๋๋๋๋ํด์ ธ ์์๋ ๋๋ ๊ทธ๋ง..๐คทโโ๏ธ
๊ทธ๋๋ ์ด ์ฐ์ ๋์ด์ผ ํ์ธต ๋ ๋จ๋จํด์ง๋ ๊ฒ ์๋๊ฒ ์ผ์ ๐ต๏ธ ํ๊ณ ์ฉ์ฉํ๊ฒ ๋๋ค์ ์๋ฌ๋ฅผ ํด๊ฒฐํ๋ฌ ์ถ๋ฐํ๋ค..
์ฒ์์ ์ฌ๋ฌ ๋ธ๋ก๊ทธ๋ค์ ๋ค ์ฝ์ด๋ณด์์ ๋์๋ Node์ ๋ฒ์ ์ด ๋๋ฌด ๋์์ ์ด๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ ํด์ผ์ง ํด๊ฒฐํ ์ ์๋ค๋ ๋ง์ด ๋ง์๋ค.
ํ์ง๋ง ํ์ฌ ์ฌ์ฉํ๊ณ ์๋ Node ๋ฒ์ ์ LTS์ด๊ธฐ๋ ํ๊ณ ,(์คํ์ค๋ฒํ๋ก์ฐ ๊ฐ๋ฐ์๋ค๋ LTS ๋ฒ์ ๋
ธ๋๋ฅผ ์ฌ์ฉํ๋ผ๊ณ ํ๋ค!) ๋ง์ฝ ๋ค์ด๊ทธ๋ ์ด๋๋ฅผ ํ๋ค๊ณ ํด๋ ์ด๋ ๋ฒ์ ๊น์ง ๋ด๊ฐ ๋ฒ์ ์ ๋ด๋ ค์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ๊ธฐ ๋๋ฌธ์ ๋ง๋งํ ์๊ฐ์ด ๋ค์๋ค.
๊ทธ๊ฒ์ ๋ฐ๋ก ๋
ธ๋ 17, 18๋ก ์
๋ฐ์ดํธ๊ฐ ๋๋ฉด์ OpenSSL
๊ณผ์ ํต์ ์ ์์ด ๋ฐ๋ ์ ์ด ๋ง๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ๋
ธ๋ 16๋ฒ์ ์ผ๋ก ๋กค๋ฐฑํด์ ํด๊ฒฐํ ๋ถ๋ค์ด ๋ง์ ๊ฒ ๊ฐ์๋ฐ.. ๋
ธ๋ 18์ ์ฌ์ฉํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ถ์๋ค.
์๋ ๊ธ์ stackoverflow์์ ๋ฐ์ทํ ๊ธ์ด๋ค.
In Node.js v17, the Node.js developers closed a security hole in the SSL provider. This fix was a breaking change that corresponded with similar breaking changes in the SSL packages in NPM. When you attempt to use SSL in Node.js v17 or later without also upgrading those SSL packages in your package.json, then you will see this error.
SSLํจํค์ง๊ฐ package.json
์์ ์ต์ ์ํ๊ฐ ์๋ ๋์์ SSL
์ ์ฌ์ฉํ๋ ค๊ณ ํ๋ฉด ์๋ฌ๋ฅผ ๋ฐ์์ํจ๋ค๋ ๊ฒ์ด๋ค. ๋ณด์์ ๊ด๋ จ๋ ์ต์ ๋ฒ์ ์ ์ด์ฉํ๋ฉด ํด๋น ์๋ฌ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
๊ทธ๋์ ๋ด๊ฐ ์ ํํ ํด๋น ์๋ฌ ํด๊ฒฐ๋ฒ์ ์๋ ๋ช
๋ น์ด๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด๋ค.
npm audit fix --force
npm audit fix๋ฅผ ์ฌ์ฉํ๋ฉด ๋ด๊ฐ ์ฌ์ฉํ๊ณ ์๋ ํจํค์ง์ ๋ํ์ฌ, ์ทจ์ฝ์ ์ ๊ฐ์ง ์ข
์์ฑ์ ํธํ๋๋ ๋ฒ์ ์ผ๋ก ์๋์ผ๋ก ์
๋ฐ์ดํธ๋ฅผ ํด์ฃผ๋ ๊ฒ์ด๋ค. ์ค์ ๋ก ํด๋น ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋, React-script ์ ๋ฒ์ ์ 5.0.1
๋ก ์
๋ฐ์ดํธ ๋๊ณ , ๋ฌธ์ ์์ด deploy๋ฅผ ์งํํ ์ ์์๋ค. ์ด๋ก ์ธํด ์กด์ฌํ๋ ๋ณด์ ์ด์๋ค์ ํด๊ฒฐํ ์ ์์๋ค ๐
์ค๋์ ๊ฒฐ๋ก .
yarn์ ์ฐ์!