运行 ANGULAR PROJECT 时出错,尝试使用 nvm 使用不同版本的节点,但没有成功

问题描述 投票:0回答:1

Angular 版本截图

$ ng serve
\ Generating browser application bundles (phase: building)...node:internal/crypto/hash:69
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:138:10)
    at BulkUpdateDecorator.hashFactory (Z:\WebDev\Internship\DocMgt\node_modules\webpack\lib\util\createHash.js:145:18)
    at BulkUpdateDecorator.update (Z:\WebDev\Internship\DocMgt\node_modules\webpack\lib\util\createHash.js:46:50) 
    at RawSource.updateHash (Z:\WebDev\Internship\DocMgt\node_modules\webpack\node_modules\webpack-sources\lib\RawSource.js:77:8)
    at NormalModule._initBuildHash (Z:\WebDev\Internship\DocMgt\node_modules\webpack\lib\NormalModule.js:880:17)  
    at handleParseResult (Z:\WebDev\Internship\DocMgt\node_modules\webpack\lib\NormalModule.js:946:10)
    at Z:\WebDev\Internship\DocMgt\node_modules\webpack\lib\NormalModule.js:1040:4
    at processResult (Z:\WebDev\Internship\DocMgt\node_modules\webpack\lib\NormalModule.js:755:11)
    at Z:\WebDev\Internship\DocMgt\node_modules\webpack\lib\NormalModule.js:819:5
    at Z:\WebDev\Internship\DocMgt\node_modules\loader-runner\lib\LoaderRunner.js:407:3
    at iterateNormalLoaders (Z:\WebDev\Internship\DocMgt\node_modules\loader-runner\lib\LoaderRunner.js:233:10)   
    at iterateNormalLoaders (Z:\WebDev\Internship\DocMgt\node_modules\loader-runner\lib\LoaderRunner.js:240:10)   
    at Z:\WebDev\Internship\DocMgt\node_modules\loader-runner\lib\LoaderRunner.js:255:3
    at context.callback (Z:\WebDev\Internship\DocMgt\node_modules\loader-runner\lib\LoaderRunner.js:124:13)       
    at Object.loader (Z:\WebDev\Internship\DocMgt\node_modules\postcss-loader\dist\index.js:195:3) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v20.6.1 此错误似乎与丢失或错误引用的模块有关,但我正在努力找出确切的原因。我已经仔细检查了我的导入语句,它们似乎是正确的。有问题的“模块名称”是我的项目依赖项的一部分,并且我已确认它已安装。

我已经尝试了以下故障排除步骤,但没有成功:

清除 Angular CLI 和 npm 缓存。 使用 npm install 重新安装我的项目的依赖项。 确保模块名称拼写正确并与导入语句匹配。 验证该模块是否列在我的项目的 package.json 文件中。 我的项目之前运行得很好,最近我没有对代码进行任何重大更改。我的项目配置可能存在问题,或者我忽略了其他一些微妙的错误。

我正在使用 Angular 版本 X.X.X 和 Angular CLI 版本 X.X.X。如果有人遇到类似的错误或对如何解决它有任何见解,我将非常感谢您的帮助。预先感谢您的帮助!

node.js angular typescript angular2-routing
1个回答
0
投票

您的错误快照已经表明 Node 版本不受支持,这是真的。

如果您必须使用 Angular 版本 12.x,那么您应该使用 Node 14.x,而不是更高版本。

对于最新的 Angular 版本 16.x,您应该可以在 Node 16.x/18.x 上正常运行

这是兼容性图表:

© www.soinside.com 2019 - 2024. All rights reserved.