升级Angular模板后执行ng update/ng serve遇TS2305错误求助
解决方案
这个问题我之前碰到过,核心原因是**@agm/core版本和升级后的Angular 5不兼容**,具体细节和解决步骤如下:
Angular 5开始正式用InjectionToken替代了旧的OpaqueToken(虽然Angular 5暂时保留了兼容,但新版@agm/core已经完全切换到InjectionToken),而你当前使用的@agm/core版本还在依赖已被废弃的OpaqueToken,这就导致了编译时的类型错误。
具体解决步骤:
升级
@agm/core到兼容Angular 5的版本
推荐安装1.1.0版本(这个版本完美适配Angular 5+),运行命令:npm install @agm/core@1.1.0 --save # 用yarn的话执行: yarn add @agm/core@1.1.0更新
package.json里的依赖声明
打开你的package.json,找到@agm/core条目,把版本号改成^1.1.0,确保后续安装都使用兼容版本:{ // ...其他依赖内容 "@agm/core": "^1.1.0" }清理缓存并重新安装依赖
为了避免缓存残留的问题,执行以下命令:# 删除node_modules和锁文件 rm -rf node_modules package-lock.json # 重新安装所有依赖 npm install重启项目
运行ng serve,此时那个TS2305的编译错误应该就消失了。
内容的提问来源于stack exchange,提问作者maroodb
相关产品推荐
相关产品推荐

