记录一次诡异的报错
这两天写了一个 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
其他硬件配置如下,
一些尝试
接下来,尝试了这几个步骤:
yarn add source-map-support
- 删除 node-modules 再重装
- 让别人下载安装,并没有复现问题
- 升级 node,从 v10.19.0 升级到 v12.18.0
- 升级 yarn 到最新版(1.22.4)
结果是都不行,网上找了一圈,也没有查到相同的报错。然后最搞笑的是,这个问题用一条命令就解决了。
解决方法
npm install source-map-support
报错原因
yarn 安装的 source-map-support 里面居然没有 source-map-support.js
这个文件,真厉害。
结论
有人说 yarn 比 npm 稳定,其实 yarn 有时不一定比 npm 好,比如安装的包其实是个残次品。