其实yarn不如npm?记录一次诡异的Debug经历

666 阅读1分钟

记录一次诡异的报错

这两天写了一个 node.js 的 demo 项目,一个命令行版的 to-do-list,写单元测试的时候,一开始写了一个最简单的 jest 测试用例

运行 yarn test居然报错了

报错信息是

Test suite failed to run

Cannot find module 'source-map-support'

at runTestInternal (node_modules/jest-runner/build/runTest.js:328:15)

环境信息

  • Windows 10 专业版 1909
  • yarn v1.19.0
  • node v10.19.0
  • npm v6.13.4

其他硬件配置如下,

一些尝试

接下来,尝试了这几个步骤:

  1. yarn add source-map-support
  2. 删除 node-modules 再重装
  3. 让别人下载安装,并没有复现问题
  4. 升级 node,从 v10.19.0 升级到 v12.18.0
  5. 升级 yarn 到最新版(1.22.4)

结果是都不行,网上找了一圈,也没有查到相同的报错。然后最搞笑的是,这个问题用一条命令就解决了。

解决方法

npm install source-map-support

报错原因

yarn 安装的 source-map-support 里面居然没有 source-map-support.js这个文件,真厉害

结论

有人说 yarn 比 npm 稳定,其实 yarn 有时不一定比 npm 好,比如安装的包其实是个残次品