当您运行npm install --save somepackage时,通常会在package.json中添加如下内容:

"dependencies": {
    "somepackage": "^2.1.0"
}

因为该版本前面带有脱字符号(^),所以这意味着,如果稍后运行npm install,它可能会安装2.3.0版。由于相当明显的原因,这可能是不希望的。 npm shrinkwrap很有用,但不能真正解决问题。

因此,我有几个问题:
  • 在安装软件包时,是否可以在package.json中指定您要将其设置为特定版本(版本号前无需插入符号)?
  • 在将软件包发布到npm时,是否有其他方法可以防止其他开发人员安装软件包时在版本之前包含插入号的默认设置?
  • 最佳答案

    要默认指定确切版本,可以使用 save-exact 更改npm配置:

    npm config set save-exact true
    

    您还可以使用波浪号 save-prefix 指定前缀版本。

    而且,不,您不能强制用户更新到次要版本或修补程序版本,NPM使用semver,这是发布软件包的推荐方式。

    07-24 09:46
    查看更多