安装@angular/cdk后出现@angular/core中CSP_NONCE未找到错误,求解决方案
解决 "export 'CSP_NONCE' was not found in '@angular/core'" 错误
问题根源
这个错误是Angular版本不兼容导致的:CSP_NONCE 是Angular 14及以上版本才新增的API,如果你项目里的@angular/core版本低于14,但安装的@angular/cdk是14+版本,就会出现这种依赖不匹配的问题。
可行解决方案
统一Angular核心包与CDK的版本
- 先查看当前
@angular/core的具体版本,执行命令:npm list @angular/core - 安装和核心包版本完全一致的
@angular/cdk,比如核心包版本是13.2.0,就运行:
注意:版本号必须完全匹配,包括主版本、次版本和补丁号,不能只匹配主版本。npm install @angular/cdk@13.2.0 --save
- 先查看当前
升级Angular核心包到支持CSP_NONCE的版本
如果项目允许升级Angular版本,直接把整个Angular生态升级到14或更高版本:- 先安装对应版本的Angular CLI(以14版本为例):
npm install @angular/cli@14 -g - 执行项目升级命令:
ng update @angular/core@14 @angular/cli@14 - 最后确保CDK版本与升级后的核心包一致:
npm install @angular/cdk@14 --save
- 先安装对应版本的Angular CLI(以14版本为例):
锁定package.json中的依赖版本
打开项目根目录下的package.json,检查所有@angular/开头的依赖(core、common、cli、cdk等),把版本号里的^或~去掉,改成固定版本号(比如把^13.0.0改成13.2.0),然后重新执行:npm install
内容的提问来源于stack exchange,提问作者Alessandro Ricci
相关产品推荐
相关产品推荐

