IM 嘗試為我的簡單待辦事項應用程式構建 Docker 映像,該應用程式內置了 react 和 JS,但是當我構建應用程式時,在 [4/4] 上出現錯誤 RUN npm run build
這是我得到的錯誤
=> ERROR [4/4] RUN npm run build 4.4s
------
> [4/4] RUN npm run build:
#8 1.648
#8 1.648 > todo-app@0.1.0 build
#8 1.648 > react-scripts build
#8 1.648
#8 3.318 Creating an optimized production build...
#8 3.815 Error: error:0308010C:digital envelope routines::unsupported
#8 3.815 at new Hash (node:internal/crypto/hash:67:19)
#8 3.815 at Object.createHash (node:crypto:130:10)
#8 3.815 at module.exports (/todo-app/node_modules/webpack/lib/util/createHash.js:135:53)
#8 3.815 at NormalModule._initBuildHash (/todo-app/node_modules/webpack/lib/NormalModule.js:417:16)
#8 3.815 at handleParseError (/todo-app/node_modules/webpack/lib/NormalModule.js:471:10)
#8 3.815 at /todo-app/node_modules/webpack/lib/NormalModule.js:503:5
#8 3.815 at /todo-app/node_modules/webpack/lib/NormalModule.js:358:12
#8 3.815 at /todo-app/node_modules/loader-runner/lib/LoaderRunner.js:373:3
#8 3.815 at iterateNormalLoaders (/todo-app/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
#8 3.815 at iterateNormalLoaders (/todo-app/node_modules/loader-runner/lib/LoaderRunner.js:221:10)
#8 3.815 at /todo-app/node_modules/loader-runner/lib/LoaderRunner.js:236:3
#8 3.815 at runSyncOrAsync (/todo-app/node_modules/loader-runner/lib/LoaderRunner.js:130:11)
#8 3.815 at iterateNormalLoaders (/todo-app/node_modules/loader-runner/lib/LoaderRunner.js:232:2)
#8 3.815 at Array.<anonymous> (/todo-app/node_modules/loader-runner/lib/LoaderRunner.js:205:4)
#8 3.815 at Storage.finished (/todo-app/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:55:16)
#8 3.815 at /todo-app/node_modules/enhanced-resolve/lib/CachedInputFileSystem.js:91:9
#8 3.831 /todo-app/node_modules/react-scripts/scripts/build.js:19
#8 3.831 throw err;
#8 3.831 ^
#8 3.831
#8 3.831 Error: error:0308010C:digital envelope routines::unsupported
#8 3.831 at new Hash (node:internal/crypto/hash:67:19)
#8 3.831 at Object.createHash (node:crypto:130:10)
#8 3.831 at module.exports (/todo-app/node_modules/webpack/lib/util/createHash.js:135:53)
#8 3.831 at NormalModule._initBuildHash (/todo-app/node_modules/webpack/lib/NormalModule.js:417:16)
#8 3.831 at /todo-app/node_modules/webpack/lib/NormalModule.js:452:10
#8 3.831 at /todo-app/node_modules/webpack/lib/NormalModule.js:323:13
#8 3.831 at /todo-app/node_modules/loader-runner/lib/LoaderRunner.js:367:11
#8 3.831 at /todo-app/node_modules/loader-runner/lib/LoaderRunner.js:233:18
#8 3.831 at context.callback (/todo-app/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
#8 3.831 at /todo-app/node_modules/babel-loader/lib/index.js:59:103 {
#8 3.831 opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
#8 3.831 library: 'digital envelope routines',
#8 3.831 reason: 'unsupported',
#8 3.831 code: 'ERR_OSSL_EVP_UNSUPPORTED'
#8 3.831 }
#8 3.831
#8 3.831 Node.js v17.1.0
#8 3.842 npm notice
#8 3.842 npm notice New patch version of npm available! 8.1.2 -> 8.1.4
#8 3.842 npm notice Changelog: <https://github.com/npm/cli/releases/tag/v8.1.4>
#8 3.842 npm notice Run `npm install -g [email protected]` to update!
#8 3.843 npm notice
------
executor failed running [/bin/sh -c npm run build]: exit code: 1
這是我的 Dockerfile
FROM node:17.1-alpine
WORKDIR /todo-app
ENV PATH=".node_modules/.bin:$PATH"
COPY . .
RUN npm run build
CMD ["npm", "start"]

uj5u.com熱心網友回復:
在我的情況下,此錯誤通常是因為node v17vs.webpack通常與node v16.
您是否嘗試過版本 16(它是 LTS)中的Node ?
uj5u.com熱心網友回復:
您可以嘗試降級您的節點版本嗎?
請參考:https : //exerror.com/error-error0308010cdigital-envelope-routinesunsupported-in-reactjs/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/365522.html
上一篇:Flink(在docker上)使用來自Kafka的資料(在docker上)
下一篇:Docker容器埠設定不正確
