我是NPM的新手,对不起,如果我的问题听起来很愚蠢。以下是我的问题:
Q1-
当我安装软件包并指定指定的版本时,例如:
npm安装xxx@3.5.1
但是为什么在package.json文件中它变成:
{
"devDependencies": {
"xxx": "^3.5.1"
}
}
我知道多余的插入符号(^字符)将接受3.5.2、3.6.0等版本,但不接受4.0.0。但是我确实明确指定了我想要版本3.5.1,那么为什么NPM仍在版本之前添加^
?
第二季度-
如果NPM安装了用户指定的版本的软件包,那么我们不需要package-lock.json文件,对吗?由于package.json文件中的所有版本都是唯一且明确的?
答案 0 :(得分:0)
1。
您可以添加--save-exact
npm install lodash --save --save-exact
-安装最新版本并将确切版本保存在package.json中的依赖项中。
2。
^
和~
是npm
为您提供的获取latest
依赖源的方式。有时还是有风险的。
阅读此内容以获得更详细的说明。 https://bytearcher.com/articles/semver-explained-why-theres-a-caret-in-my-package-json/