正如标题所示,但是:
- 如果可能的话,我不想在 package-lock.json 中手动重写版本字符串,
- 我尝试了以下方法:如何将 package.json 中的每个依赖项更新到最新版本? https://stackoverflow.com/questions/16073603/how-do-i-update-each-dependency-in-package-json-to-the-latest-version但当然正如预期的那样,它只更新了 package.json 文件,
- 我查看了文档:package-lock.json 文档 https://docs.npmjs.com/files/package-lock.json and 包锁解释文档 https://docs.npmjs.com/files/package-locks,
- 如中所写这个问题 https://stackoverflow.com/questions/45022048/why-does-npm-install-rewrite-package-lock-json,npm v5.1.0 中的 npm 安装行为发生了变化,如果我是正确的,这意味着如果我的 npm 版本高于 5.1.0,我的应用程序将(默认情况下)始终从 package.json 进行 npm install,而不是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 中阅读有关 '^' 和 '~' 的更多信息 >>参考 https://docs.npmjs.com/files/package.json
由于包锁为每个模块及其每个依赖项指定了版本、位置和完整性哈希,因此它为共享项目中的每个用户每次创建的安装都将是相同的。
您想了解的有关 package-lock.json 的所有信息 https://medium.com/@Quigley_Ja/everything-you-wanted-to-know-about-package-lock-json-b81911aa8ab8
希望这能帮助您理清思绪。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)