当我运行npm install react@^15
时,它会自动选择满足^15
的最高版本。是否有CLI命令或Node API可用于确定将安装哪个版本npm
,而不实际安装它?
我可以做以下事情,但我正在寻找更简洁的内容:
const semver = require('semver')
const {exec} = require('child-process-async')
async function resolveVersion(pkg: string, range: string): Promise<?string> {
const result = JSON.parse((await exec(`npm view --json ${pkg} verisons dist-tags`)).stdout)
return result['dist-tags'][range] || semver.maxSatisfying(versions, range)
}
答案 0 :(得分:2)
是的,您可以使用--dry-run标志:
--dry-run参数将以通常的方式报告安装在没有实际安装任何内容的情况下会做什么。
示例:强>
> npm install react@^15 --dry-run
+ react@15.6.2
added 18 packages in 0.673s