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_modules
和 yarn.lock
,重新用 yarn
安装依赖,并运行 yarn start
后,错误依然存在。
接着我尝试删除 node_modules
和 yarn.lock
,改用 npm install
和 npm 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
文件夹,然后重新安装依赖。这种方法可以有效避免文件路径丢失的问题。
希望这篇经验分享能够帮助到有相同问题的朋友们。