npm默认依赖特性
在npm默认依赖特性,npm,dependency-management,Npm,Dependency Management,在package.json中,如果指定 "react": "~16.1.1" "react": "^16.1.1" 这允许NPM仅更改修补程序版本,即它可以使用版本16.1.2,但不会使用版本16.2.X 类似地,如果我指定一个依赖项,如 "react": "~16.1.1" "react": "^16.1.1" 这允许NPM仅更改次要版本(中间编号) 但是如果依赖版本前面没有任何字符,例如 "react": "16.1.1" 这是否意味着只能使用版本16.1.1?通过在包.json中
package.json
中,如果指定
"react": "~16.1.1"
"react": "^16.1.1"
这允许NPM仅更改修补程序版本,即它可以使用版本16.1.2,但不会使用版本16.2.X
类似地,如果我指定一个依赖项,如
"react": "~16.1.1"
"react": "^16.1.1"
这允许NPM仅更改次要版本(中间编号)
但是如果依赖版本前面没有任何字符,例如
"react": "16.1.1"
这是否意味着只能使用版本16.1.1?通过在包.json中“固定”您的项目依赖项(即在不使用或范围说明符的情况下指定),将导致每次安装“类似”版本
例如,<代码>“react”:“16.1.1”
在包中指定。json
,这将导致每次运行npm install
时安装react
的16.1.1
但是,(请注意,我强调了“相似”一词),这并不意味着通过“固定”,您将获得上次安装软件包时构成react
软件包版本16.1.1
的所有“完全相同”的文件。其原因是其utillize中指定的react
依赖项使用了插入符号和波浪号范围说明符的组合。因此,这些依赖项的版本可能会发生更改。类似地,这些依赖关系的依赖关系等(又名:依赖关系树)也会发生变化
签出和/或如果您想要为了发布目的真正锁定依赖项版本树