【发布时间】:2019-08-24 08:05:45
【问题描述】:
保存 package.json 依赖项的最佳做法是什么?
例如,我看到很多依赖项都不是固定的,例如:
"tslint": "~5.11.0"
我希望有固定的依赖关系,以便将来新开发人员加入团队时不会改变。
我对 package-lock.json 和 shrinkwrap 知之甚少,但我不确定这方面的“最佳实践”。 在这种情况下是一个 Angular 应用程序,但它可以是一切。例如,将 package-lock.json 保存在 repo 上会导致过去的一些问题(我知道!这是推送它的最佳实践!)
有什么想法吗?
【问题讨论】:
-
如果我可能会问,“固定”是指不更新依赖版本吗?
-
例如:tslint : 5.11.0 (没有 ~ 或 ^ )
-
有一个选项可以实现没有 ^ 和 ~ 的依赖项。但简而言之, ^ 表示您将更新到最近的依赖项的主要版本,从而 ~ 将您更新到最近的次要版本。另请参阅:googleweblight.com/i?u=https://stackoverflow.com/questions/….
-
是的....我同意,我的意思是...指向一个确切的版本对我来说是有意义的,因此发生意外行为的可能性较小。比如“tslint”:“5.11.0”。但我没有找到任何来源来解释这是最佳做法
标签: node.js npm package.json semantic-versioning