如标题所示,但是:
- 如果可能的话,我不想在 package-lock.json 中手动重写版本字符串,
- 我尝试了以下方法:How do I update each dependency in package.json to the latest version?但当然正如预期的那样,它只更新了 package.json 文件,
- 我查看了文档:package-lock.json docs和 package-locks explanation docs ,
- 写在this question ,npm 安装行为在 npm v5.1.0 中发生了变化,如果我是正确的,这意味着如果我的 npm 版本高于 5.1.0,我的应用程序将(默认情况下)始终从 package.json 安装 npm,而不是package-lock.json 的。但是,我的 package-lock.json 中仍然列出了一个存在漏洞的依赖项,我的 github 对此发出尖叫警告。
如何最好地解决这个问题?如果我无论如何都是从 package.json 安装的,那么删除 package-lock.json 是一个好习惯吗?我应该保持更新吗?如果我想改用锁怎么办?
我以前从来没有做过这样的事情,所以我什至不确定如果我只是在 json 中重写一个版本字符串它会起作用还是会破坏 npm 安装。
是否有一种安全/专业的方法来更改为 package-lock.json,并通过 npm 保持更新?
最佳答案
如果你想更新 package-lock.json 中的版本,你可以通过使用
更新包来实现npm update <package_name>
- '^' >> "大约相当于版本"
- '~' >> "兼容版本"
在 package.json 中阅读更多关于“^”和“~”的信息 >> Reference
由于包锁为每个模块及其每个依赖项指定了版本、位置和完整性散列,因此它创建的安装对于共享项目中的每个用户每次都是相同的。
Everything You Wanted To Know About package-lock.json
希望这能帮助您理清思绪。
关于node.js - 我如何 npm 更新 package-lock.json 中的依赖版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51083789/