运行 Angular 应用程序:错误:0308010C:数字信封例程::不支持

Isa*_*hba 9 node.js webpack angular

当我尝试运行角度应用程序时发现此错误。有什么建议吗?

\n
Error: error:0308010C:digital envelope routines::unsupported\nat new Hash (node:internal/crypto/hash:67:19)\nat Object.createHash (node:crypto:135:10)\nat module.exports \n\n\n\nError: Cannot find module '/home/isaac-wahba/Development/Personal/Udacity/Deployment/deployment-process-project/udagram/udagram-frontend/\xe2\x80\x93openssl-legacy-provider'\n    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)\n    at Function.Module._load (node:internal/modules/cjs/loader:778:27)\n    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)\n    at node:internal/main/run_main_module:17:47 {\n  code: 'MODULE_NOT_FOUND',\n  requireStack: []\n}\n\nNode.js v17.4.0\n
Run Code Online (Sandbox Code Playgroud)\n

注意:我尝试了以下操作:

\n
    \n
  • 将Webpack版本更改为4.39.2
  • \n
  • 将其更改为 5.61.0。
  • \n
\n
    \n
  • 结果是
  • \n
\n
\n
 An unhandled exception occurred: Cannot find module 'webpack/lib/ParserHelpers'\n
Run Code Online (Sandbox Code Playgroud)\n
\n

Pet*_*ang 36

视窗: set NODE_OPTIONS=--openssl-legacy-provider

Mac/Linux: export NODE_OPTIONS=--openssl-legacy-provider

set NODE_OPTIONS=--openssl-legacy-provider && 在脚本中添加启动命令。

例如您之前的脚本如下:

"scripts": {
  "start": "ng serve"
}
Run Code Online (Sandbox Code Playgroud)

然后当你有

"scripts": {
  "start": "set NODE_OPTIONS=--openssl-legacy-provider && ng serve"
}
Run Code Online (Sandbox Code Playgroud)

然后运行npm start


Isa*_*hba 3

我通过改变来解决它:

  1. node版本到16.
  2. webpack版本为4.