मैं में दाखिला लिया है एक डोकर पाठ्यक्रम और प्रशिक्षक के लिए प्रदान की गई है एक स्टार्टर परियोजना के साथ कुछ नहीं बल्कि पुराने प्रतिक्रिया कोड है ।
मैं dockerized प्रतिक्रिया परियोजना, यहाँ सरल Dockerfile:
FROM node
WORKDIR /app
COPY package.json .
RUN npm i
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
फिर मैं बनाया छवि:
docker build -t goals-react .
और भाग गया, एक कंटेनर में संलग्न मोड:
docker run --name goals-app --rm -p 3000:3000 goals-react
इस उत्पादन प्राप्त:
> [email protected] start
> react-scripts start
ℹ 「wds」: Project is running at http://172.17.0.4/
ℹ 「wds」: webpack output is served from
ℹ 「wds」: Content not from webpack is served from /app/public
ℹ 「wds」: 404s will fallback to /
Starting the development server...
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at module.exports (/app/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/app/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/app/node_modules/webpack/lib/NormalModule.js:471:10)
at /app/node_modules/webpack/lib/NormalModule.js:503:5
at /app/node_modules/webpack/lib/NormalModule.js:358:12
at /app/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/app/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at iterateNormalLoaders (/app/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
/app/node_modules/react-scripts/scripts/start.js:19
throw err;
^
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:67:19)
at Object.createHash (node:crypto:130:10)
at module.exports (/app/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/app/node_modules/webpack/lib/NormalModule.js:417:16)
at /app/node_modules/webpack/lib/NormalModule.js:452:10
at /app/node_modules/webpack/lib/NormalModule.js:323:13
at /app/node_modules/loader-runner/lib/LoaderRunner.js:367:11
at /app/node_modules/loader-runner/lib/LoaderRunner.js:233:18
at context.callback (/app/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
at /app/node_modules/babel-loader/lib/index.js:59:103 {
opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
library: 'digital envelope routines',
reason: 'unsupported',
code: 'ERR_OSSL_EVP_UNSUPPORTED'
}
Node.js v17.1.0
मैंने यह मान लिया था क्योंकि प्रतिक्रिया परियोजना का उपयोग कर रहा था एक पुराने संस्करण की प्रतिक्रिया है, तो मैं उन्नयन के पैकेज.json फ़ाइल के साथ निम्न आदेश:
npx npm-check-updates -u
npm install
तो मैं हटा दिया है और निर्मित छवि है, और फिर भाग गया एक नया कंटेनर के लिए:
docker rmi goals-react
docker build -t goals-react .
docker run --name goals-app --rm -p 3000:3000 goals-react
लेकिन मेरे आश्चर्य करने के लिए मैं प्राप्त एक ही त्रुटि है. तो मैं googled digital envelope routines::unsupported
और मैं अभी तक एक और stackoverflow चर्चा.
मैं निष्पादित निम्न आदेश:
export NODE_OPTIONS=--openssl-legacy-provider
तो मैं फिर से बनाया छवि को पुनः आरंभ कंटेनर, लेकिन कोई फायदा नहीं हुआ । मैं का फैसला किया है पढ़ने के लिए त्रुटि संदेश को अधिक अच्छी तरह से लगता है और यह किया जा करने के लिए एक webpack त्रुटि । मैं करने के लिए चला गया webpack github पृष्ठ और मुझे एहसास हुआ है कि किसी और एक ही मुद्दा था, ठीक यहाँ है, हालांकि इस मुद्दे को बंद कर दिया है. वे भी सिफारिश की ऊपर के आदेश है, लेकिन है कि स्पष्ट रूप से मेरे लिए काम नहीं करता.
अग्रिम धन्यवाद के लिए किसी भी प्रतिक्रिया और मदद.
संपादित करें:
द्वारा अनुरोध के रूप में @MikiBelavista, यहाँ पैकेज है.json फ़ाइल:
{
"name": "frontend",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.15.1",
"@testing-library/react": "^12.1.2",
"@testing-library/user-event": "^13.5.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "4.0.3"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}