解决Error:Cannotfindmodule'../5/CheckObjectCoercible'问题

首页 编程分享 EXPERIENCE 正文

红薯 转载 编程分享 2022-09-11 23:43:03

简介 没事折腾前端开发遇见一个奇怪问题: 一个运行好好的项目,手贱执行了一下 yarn upgrade 后,启动就报错: 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/

转载链接:https://my.oschina.net/javayou/blog/5576777


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云