解决 Error: Cannot find module '../5/CheckObjectCoercible' 问题
没事折腾前端开发遇见一个奇怪问题:
一个运行好好的项目,手贱执行了一下 yarn upgrade 后,启动就报错:
Error: Cannot find module '../5/CheckObjectCoercible'
错误是 es-abstract 这个依赖项抛出的,整个依赖链条是:
我的项目 -> npm-run-all -> string.prototype.padend -> es-abstract 。
而到 node_modules 中检查 es-abstract 模块目录,发现目录 5 下的确不存在 CheckObjectCoercible.js 这么个文件。
但是到 es-abstract 仓库 https://github.com/ljharb/es-abstract 却发现这个文件是存在的,咋回事呢?
好吧,那就起个空项目,试试 es-abstract 老版本如何。 结果发现除了 1.20.2 这个版本(8天前发布的)之外,其他版本都是好好的。于是顺手给 es-abstract 贴个 issue https://github.com/ljharb/es-abstract/issues/145
但是朋友在 Mac 下测试是没问题的,而我是 Windows 11 是 100% 重现。
不知道 es-abstract 这个包在发布的时候发生了什么事情,咱们也管不了啊。
也不可能等,接下来还是想办法怎么避免使用这个最新版本。
从上面的依赖链条中,es-abstract 处于第三层,那么这个问题就变成:
如何指定依赖的依赖的版本?
经过无数次的搜索搜索再搜索终于找到了解决方案 https://stackoverflow.com/questions/40226639/how-do-i-override-nested-dependencies-with-yarn
最终通过在 package.json 中添加如下信息搞定:
"resolutions": { "es-abstract": "1.20.1" }
yarn 官方文档请看 https://classic.yarnpkg.com/en/docs/selective-version-resolutions/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Android 13(Go 版本)最低硬件要求:2GB RAM 和 16GB 存储空间
Google Android 开发者博客宣布了 Android 13 精简版 (Go Edition) 的最低硬件需求。Android Go 是面向 RAM 较小的入门级智能手机打造的移动操作系统,通常被用来打造价格更合理的入门设备,专门为低内存和低速处理器进行了优化。 Android Go 于 2017 年首次发布,主要由 OEM 厂商决定是否采用,2017 年时的最低硬件需求是 512MB 内存,过去两年提高到了 1GB,今年正式提高到了 2GB RAM。 此外,Esper 的 Mishaal Rahman 和 Google 产品专家 Jason Bayton 也声称,Android 13 精简版的最低存储空间要求已提高到 16GB,不过 Google 似乎没有在任何文档公开提及此消息。系统要求的增加意味着任何不符合最低硬件要求的手机都将无法更新到 Android 13。搭载 Android 13 的新手机将需要满足最低要求才能获得 Play Store 许可——意思就是如果需要预装 GMS 服务那就要满足最低硬件要求。 当然,推出搭载较旧版本的 Android 在一段时间内仍将是...
- 下一篇
SvelteKit 进入发行候选阶段,稳定版发布倒计时开始
经过多个测试版本后SvelteKit 终于在 Svelte Summit Fall 2022 会议上宣布进入了候选发行阶段,现场掌声雷动(视频)。 这说明: 不会再有新的变更导致版本导致后续版本不兼容 稳定版发布倒计时开始 新特性还没有完全开发结束 文档还没有完全就绪 SvelteKit 是一个使用 Svelte 前端技术开发 Web 应用的框架,满足不同规模的应用开发,提供一个非常灵活和良好体验的基于文件系统的路由架构。
相关文章
文章评论
共有0条评论来说两句吧...