[์๋ฌํด๊ฒฐ๐ช ] Error: error:0308010C:digital envelope routines::unsupported : Node ๋ฒ์ ๋ง์ถฐ์ฃผ๊ธฐ
์๋ฌ๋ฐ์
Error: error:0308010C:digital envelope ์๋ฌ
๋์ [ ์น ๊ฐ๋ฐ ์คํฌ์ ํ ๋จ๊ณ ๋์ฌ ์ฃผ๋ ํ๋ก ํธ์๋์ฑ๋ฅ ์ต์ ํ ๊ฐ์ด๋ ] ๋ฅผ ๊ณต๋ถ ์ค์ธ๋ฐ,
์ฑ ์์ ์ฃผ์ด์ง ๊น ๋ ํฌ๋ฅผ ํด๋ก ๋ฐ๊ณ npm run start๋ฅผ ํ์๋ง์ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ด๋ค.
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:68:19)
at Object.createHash (node:crypto:138:10)
at module.exports (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/webpack/lib/NormalModule.js:471:10)
at /Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/webpack/lib/NormalModule.js:503:5
at /Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/webpack/lib/NormalModule.js:358:12
at /Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at iterateNormalLoaders (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
at /Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/loader-runner/lib/LoaderRunner.js:236:3
at runSyncOrAsync (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
at iterateNormalLoaders (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
at Array.<anonymous> (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
at Storage.finished (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
at /Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/react-scripts/scripts/start.js:19
throw err;
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:68:19)
at Object.createHash (node:crypto:138:10)
at module.exports (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/webpack/lib/NormalModule.js:417:16)
at /Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/webpack/lib/NormalModule.js:452:10
at /Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/webpack/lib/NormalModule.js:323:13
at /Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/loader-runner/lib/LoaderRunner.js:367:11
at /Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/loader-runner/lib/LoaderRunner.js:233:18
at context.callback (/Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
at /Users/choijungyoon/Desktop/webdev/FE-optimize/lecture-1/node_modules/babel-loader/lib/index.js:55:103 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
๋คํํ ํด๋น ๊นํ๋ธ์ Issue์์ ๋์ ๊ฐ์ ์๋ฌ๋ฅผ ๊ฒช์ ์ฌ๋์ด ๋จ๊ธด ์ง๋ฌธ์ด ์์ด ์๋ฌ์ ๋ํ ์์ธ์ ์ ์ ์์๋ค.
์์ธ์ node์ ๋ฒ์ ํธํ ๋ฌธ์ ์๋ค.
node 16๋ฒ์ ์ผ๋ก ๋ง์ถ๋ฉด ํด๊ฒฐ๋๋ ๊ฒ์ด์๋ค.
node ๋ฒ์ ์ ๋ง์ถ๋ ๊ฒ์ ๋ช๋ฒ ํด๋ดค์ง๋ง, ์ ๋๋ก ์ ๋ฆฌํ์ง ๋ชปํ ๊ฒ ๊ฐ์ ์ด๋ฒ ๊ธฐํ์ ํฌ์คํ ํ์ฌ ์ ๋ฆฌํ๊ฒ ๋์๋ค.
๋ ธ๋ ๋ฒ์ ์ ๊ด๋ฆฌํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ nvm์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
nvm์ด๋?
"Node Version Manager"์ ์ฝ์๋ก, Node.js์ ์ฌ๋ฌ ๋ฒ์ ์ ์ฝ๊ฒ ์ค์นํ๊ณ ๊ด๋ฆฌํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฒ์ ๊ด๋ฆฌ ๋๊ตฌ์ด๋ค.
์ด ๋๊ตฌ๋ ํนํ ์ฌ๋ฌ Node.js ํ๋ก์ ํธ๋ฅผ ๋ค๋ฃฐ ๋ ์ ์ฉํ๋ฉฐ, ๊ฐ ํ๋ก์ ํธ์ ํ์ํ Node.js์ ํน์ ๋ฒ์ ์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋ค.
nvm ์ค์น (mac)
$curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
์ค์น๋ ๋ ธ๋ ๋ฒ์ ๋ฆฌ์คํธ ํ์ธ
$nvm list
๋ ธ๋ ๋ฒ์ ๋ณ๊ฒฝ
์๋์ ๊ฐ์ด ๋ณ๊ฒฝํ๊ณ ์ ํ๋ ๋ฒ์ ์ ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ค.
ํ์ง๋ง ์ด๋ฌ๋ฉด ๋ชจ๋ ํ๋ก์ ํธ์ ์ฌ์ฉ๋๋ ๋ ธ๋ ๋ฒ์ ์ด ๋ฐ๋๊ธฐ ๋๋ฌธ์,
ํ๋ก์ ํธ ๋ณ๋ก ์ฌ์ฉํ๋ ๋ ธ๋ ๋ฒ์ ์ ๋ค๋ฅด๊ฒํ ๊ฒฝ์ฐ ๋ฐ๋ก ์ค์ ์ด ํ์ํ๋ค.
$nvm use 00.00
ํ๋ก์ ํธ ๋ณ ๋ ธ๋ ๋ฒ์ ์ค์ ํ๊ธฐ (feat. .nvmrc)
.nvmrc ํ์ผ ์์ฑ
๋จผ์ , ํ๋ก์ ํธ์ ๋ฃจํธ ๊ฒฝ๋ก์์ .nvmrc ํ์ผ์ ์์ฑํ๋ค.
๊ทธ๋ฌ๊ณ ๋์ ์ฌ์ฉํ๊ณ ์ ํ๋ ๋ ธ๋ ๋ฒ์ ์ ์ ๋ ฅํ๋ค.
๋ ธ๋ ๋ฒ์ ์ ์ฉ
๊ทธ๋ฆฌ๊ณ ํ๋ก์ ํธ์์ ํฐ๋ฏธ๋์ ์๋ก ์ด๊ณ , ๋ ธ๋ ๋ฒ์ ์ ์ ์ฉ์์ผ์ค๋ค.
$nvm use
๋ ธ๋ ๋ฒ์ ํ์ธ
$node -v
๋ ธ๋ ๋ฒ์ ์ ํ์ธํด๋ณด๋ฉด, ์ค์ ํ ๋๋ก ๋ณ๊ฒฝ๋ ๊ฒ์ ํ์ธํ ์ ์๊ณ ,
ํด๋น ํ๋ก์ ํธ๊ฐ ์๋ ๋ค๋ฅธ ํ๋ก์ ํธ์์๋ ์๋ ์ฌ์ฉ์ค์ด๋ node ๋ฒ์ ์ด ๊ทธ๋๋ก ์ ์ง๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.