使用 package.json 和 NPM 如何使用命令行安装最大数量的主要版本 1 或主要版本 2?
在这种情况下,我想将软件包从版本 2.x.x 降级到 1.x.x。在这种情况下,我希望 x 成为可能的最大数字。
类似:
npm install foo@latest:1
我不确定。我的最终目标是将正确的数据放入 package.json 中,这样我就不会跳转到版本 2.0.0,并且始终保持在最高的 1.x.x 版本。
有什么我可以手动插入到 package.json 中吗?然后运行
npm install foo
?
不幸的是NPM 关于 semver 的文章没有多大帮助。
如果您希望始终为特定版本选择最新和最好的版本,但又不想跳转主要版本,那么您可以在 package.json 中使用
^
前缀。
示例:
"dependencies": {
"nodemailer": "^2.3.2"
},
注意: Nodemailer 的最新主要版本是版本
4
。
这将解析为
[email protected]
,这是版本 2
的最后一个版本。
执行
npm install
会产生以下结果
输出:
npm WARN deprecated [email protected]: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated [email protected]: the module is now available as 'css-select'
npm WARN deprecated [email protected]: the module is now available as 'css-what'
[email protected] node_modules/nodemailer
参考: http://fredkschott.com/post/2014/02/npm-no-longer-defaults-to-tildes/
如果您想手动执行此操作:
npm install <package-name>@^xx
例如npm install react@^18 将安装主要版本 18 的最新次要版本。