我是 NPM 的新手,如果我的问题听起来很愚蠢,我很抱歉。以下是我的问题:
Q1-
当我安装一个包并指定指定版本时,例如:
npm install xxx@3.5.1
但为什么在package.json文件中,它变成:
{
"devDependencies": {
"xxx": "^3.5.1"
}
}
Run Code Online (Sandbox Code Playgroud)
我知道额外的插入符(^ 字符)将接受 3.5.2、3.6.0 等版本,但不接受 4.0.0。但我确实明确指定我想要3.5.1版本,那么为什么NPM仍然^在版本前面添加呢?
Q2-
如果 NPM 安装用户指定版本的软件包,那么我们不需要 package-lock.json 文件,不是吗?既然 package.json 文件中的所有版本都是唯一且明确的?
1.
你可以加--save-exact
npm install lodash --save --save-exact- 安装最新版本并将确切版本保存在 package.json 的依赖项中。
2.
^并且是为您提供获取依赖项来源的~方式。但有时还是有风险的。npmlatest
阅读本文以获得更详细的解释。https://bytearcher.com/articles/semver-explained-why-theres-a-caret-in-my-package-json/
| 归档时间: |
|
| 查看次数: |
605 次 |
| 最近记录: |