package.json中npm依赖项的版本号的常见做法是输入准确的版本号(如1.2.4
)而不是不精确的版本号(如^1.2.4
),该版本号允许安装{ {1}}),以确保以后的安装不会因依赖项的更改而中断(例如,this article)。
使用确切的版本号有一个缺点,即您无法自动更新依赖项的错误修复版本。当它的嵌套依赖项具有安全修复程序或错误修复程序时,这是一个问题。例如,此时软件包1.2.5
使用karma-browserstack-launcher
,该软件包正在使用包含安全漏洞的browserstack
的过时版本。由于https-proxy-agent
现在可以在依赖项中查找安全问题,因此这一点现在变得非常明显。
一段时间以来,我们有了npm audit
,它用于锁定所有依赖项的版本号。这可能会改变我们处理package-lock.json
中确切或不准确的版本号的方式。
我的问题是:给定package.json
和package.json
,当今处理依赖版本号的最佳策略是什么?是否使用确切的版本?如果嵌套依赖项没有升级,我该如何处理它们呢?
答案 0 :(得分:0)
我的感觉是