Sus*_*shi 3 npm package.json angular
我正在开发一个angular 10应用程序。为什么我看到的依赖项版本与我在+ cmdpackage-lock.json中放入的版本不同:package.jsonnpm install
例子 :
包.json
“依赖项”:{“下划线”:“ ^1.12.0 ”,.... }
然后我吃午饭npm install
包锁
“下划线”:{“版本”:“ 1.13.1 ”,“已解决”:“https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz”,“完整性”:“sha512- ..." },
为什么在 package.json 中它是版本 1.12.0 而在另一个 json 中它是 1.13.1 ???
您可以查看完整的semver文档以获取更多详细信息,但是当您编写 时^1.12.0,您实际上是在编写版本范围,而不是单个版本。
简短参考:
^1.12.0=> 最新版本是1.x.x~1.12.0=> 最新版本是1.12.x1.12.0=> 完全正确1.12.0根据 semverMAJOR.MINOR.PATCH约定,具有相同MAJOR编号的任何版本都不包含重大更改,因此您通常会看到使用范围指定的包版本^;您可以获得最新的更新并且您的代码不会损坏!
然而,与 不同的是package.json,package-lock.json它始终包含安装的软件包的确切版本,以......好吧......锁定它们。这就是为什么您package-lock.json可以显示比您在 中指定的版本更高的版本package.json。
当然,如果出于某种原因这不行并且您需要坚持使用更具体的版本,则可以使用其他选择器之一。
| 归档时间: |
|
| 查看次数: |
3594 次 |
| 最近记录: |