Ember从3.23版本升级到3.24版本构建失败出现path.isStaticBlock报错
解决方案
这个报错的核心原因是babel依赖版本不匹配:高版本的@babel/plugin-proposal-class-static-block调用了低版本@babel/traverse不存在的path.isStaticBlockAPI,单独升级部分babel、broccoli依赖不会解决版本不兼容的问题,按以下步骤操作即可修复:
- 第一步:清空本地依赖缓存和旧依赖文件
rm -rf node_modules package-lock.json yarn.lock pnpm-lock.yaml
- 第二步:固定依赖版本到适配Ember 3.24的范围,在package.json中修改对应依赖项:
- 将
@ember/test-helpers版本固定为~2.6.0,更高版本的@ember/test-helpers依赖了新的ES语法特性,和Ember 3.24默认的构建工具链不兼容 - 确认
ember-cli-babel版本在^7.26.0范围内,不要升级到8.x及以上大版本
- 将
- 第三步:重新安装所有依赖,执行对应的包管理工具安装命令即可,比如
npm install或者yarn install - 第四步:重新执行
ember serve启动服务验证
如果完成上述操作后仍有报错,检查你项目中是否有其他自定义引入的babel插件,所有babel相关插件的大版本需要和项目默认的babel核心依赖大版本保持一致。
内容的提问来源于stack exchange,提问作者Skaria Verghese
相关产品推荐
相关产品推荐

