这个 bug 真的是不容易找

2018-11-29 19:35:00 +08:00
 VDimos
刚在开发一个页面,关掉终端 install 了一个依赖然后继续 npm start,发现无论如何都报错。
首先认为是依赖出错了,毕竟刚安装了一个依赖,结果 remove 了这个依赖,依然不行。根据报错内容,是某个依赖的文件不见了,去看了下的确不见了。
可是我没动过这个依赖呀?
删除掉 node_modules 重新安装全部依赖,发现依然报错,npm list 出这个出问题的包,发现很多都依赖了这个包。
这就很玄学了,我想了半天。
突然,灵机一动,难道是这个包在我开发的时候被作者更新了,而且删掉了包里的某个文件,去 npm 一看历史,这个包的最新的版本(语义化版本),竟然在几分钟前被作者更新了!!!
更坑爹的是,这个作者完全没有遵守语义化版本规矩,明明是同样的 6.x.x,竟然出现了不兼容 api 的现象!!!
然后作者赶紧又更新了一个新版本,修复了这个文件。。。
前后距离几分钟,我正好在这几分钟内更新了这个有问题的版本。。。我的运气可真的是。。
如果不是突然灵机一动,我估计不会想到这个问题。。。
3168 次点击
所在节点    程序员
11 条回复
tonylau
2018-11-29 19:41:29 +08:00
灵气逼人
rabbbit
2018-11-29 19:54:15 +08:00
经常能遇见这种莫名其妙的 bug
比如安装包导致别的包没了。啥都没动第二天再启动却报错,只能把整个 node modules 删了重装
rizon
2018-11-29 20:11:59 +08:00
npm 的包管理啊~
前几天的 flat-map 事件~
xiangyuecn
2018-11-29 20:55:40 +08:00
"dependencies": {"less": "2.7.3"} 想被升级?门都没有
Pastsong
2018-11-29 21:11:03 +08:00
解决办法 用 yarn
yinanc
2018-11-29 21:11:37 +08:00
可真是个小机灵鬼
FakeLeung
2018-11-29 21:19:00 +08:00
lock 就为了防止这种情况吧。
xuanbg
2018-11-29 23:01:48 +08:00
node 的包依赖真是令人陶醉。。。唯一的解决方案是装个私服,把依赖的包都放私服上,然后手动更新。。。
Sparetire
2018-11-30 02:21:18 +08:00
想起今天写完没测发布一个大版本一气呵成,第二秒觉得不对有 bug 立马重构,结果又是一个 breaking change。。我犹豫了下,还是决定发个小版本吧。。中间大约二十分钟,不过还好没什么人用我写的东西😂
sharkrice
2018-11-30 08:53:20 +08:00
直接写死版本号,用得好好的不要经常升级
duzhihao
2018-11-30 13:31:54 +08:00
next.js 有个以前有个问题,每次运行的时候都会连服务器检查新版本,有段时间公司网不好,就一直运行不了项目。其实也算自己配置有问题没注意到

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/512849

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX