Ant Design Pro (UmiJS) 报错“AssertionError [ERR_ASSERTION]: filePath not found” 的解决方法

Ant Design Pro (UmiJS) 报错“AssertionError [ERR_ASSERTION]: filePath not found” 的解决方法

在使用 Ant Design Pro (UmiJS) 开发项目时,我遇到了一个报错:

AssertionError [ERR_ASSERTION]: filePath not found of /home/ifnk/proj/blog-web/node_modules/umi/node_modules/@umijs/runtime

即使删除了 node_modulesyarn.lock,重新用 yarn 安装依赖,并运行 yarn start 后,错误依然存在。

接着我尝试删除 node_modulesyarn.lock,改用 npm installnpm run start 重新安装并启动,问题依旧没有解决。

于是,我查看了 ~/proj/blog-web/node_modules/umi/node_modules 目录,发现确实没有 @umijs/runtime 文件夹。然后在GITHUB Issue上找到了类似的一个问题:GitHub Issue #8835。虽然该用户是在打包时出现了错误,但报错信息和我的情况类似,都是找不到指定文件。

虽然人家是 打包的时候 出错了, 但是出的错和 我差不多,都是找不到文件
根据网友建议,我也尝试删除了 src/.umi 文件夹:

rm -rf yarn.lock yarn-error.log node_modules src/.umi package-lock.json

之后,重新运行 yarn && yarn start,问题顺利解决。

总结:

以后如果 Umi 出现类似的问题,不妨在删除 node_modules 文件夹的同时,也删除 src/.umi 文件夹,然后重新安装依赖。这种方法可以有效避免文件路径丢失的问题。

希望这篇经验分享能够帮助到有相同问题的朋友们。