20 条回复  ·  2360 次点击
3825995121 小成 2024-11-29 16:46:31
一般来说都要遵守在语义化版本( Semantic Versioning ) 版本号通常采用 主版本号.次版本号.修订号 的格式 主版本号的增加通常意味着重大更新 向后不兼容的更改。可能需要用户修改代码或配置才能使用新的版本 次版本号 次版本号的增加通常意味着功能性更新,但保持向后兼容 修订号 修订号的增加通常用于修复问题( Bug Fixes ),不会引入新功能,也不会破坏向后兼容 这个版本管理机制有什么关系呢 一般来说 都会锁定前两位置 不会出问题的
importmeta 初学 2024-11-29 16:52:09
"upgrade": "npx npm-check-updates -i --format group", 我的项目都会加这一条脚本, 每天上班了就会运行一下, 自己控制升级, 推荐给你.
mark2025 小成 2024-11-29 16:57:59
@UltraXiaoZi 既然是 major 版本 4 -> 5 ,就说明有破坏性变更。升级之前就需要去看它 changelog 日志啊
kid740246048 小成 2024-11-29 17:02:56
这跟 nodejs 和 pnpm 都没关系,这应该是包维护者是否遵循 semver ,以及升级依赖的时候是否关注 changelog 的问题。nodejs 的依赖管理是有问题,但不太能理解楼主这个怎么能怪到 nodejs 依赖管理上去
songyoucai 小成 2024-11-29 17:06:53
说实话, 这是生态繁荣的一种特征,用任何库之前,都得对它足够的了解。不轻易升级
GiantHard 小成 2024-11-29 17:08:32
JS 跟时间相关的 API 确实太弱了,可能等 Temporal.Duration 类型普及了,就不会有库用 number 表示时长了。 https://tc39.es/proposal-temporal/docs/duration.html
COW 初学 2024-11-29 17:11:45
@sudodo python 确实是半斤八两,我现在 requirement 里都是锁版本的。
sudodo 小成 2024-11-29 17:16:35
java 和 golang 的兼容性就好多了
EchoWhale 小成 2024-11-29 17:18:02
这跟 nodejs 没啥关系
sillydaddy 初学 2024-11-29 17:26:50
#10 楼说的很清楚。主版本号升级,通常意味着不兼容。这个平时一定要注意。 不过锁死了主版本,可能会锁死一大批依赖它的库的版本,也挺麻烦。
返回顶部