确定npm将为给定版本范围选择的软件包版本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了确定npm将为给定版本范围选择的软件包版本相关的知识,希望对你有一定的参考价值。
当我运行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)
答案
是的,你可以使用--dry-run标志:
--dry-run参数将以通常的方式报告安装将在没有实际安装任何内容的情况下完成的操作。
例:
> npm install react@^15 --dry-run
+ react@15.6.2
added 18 packages in 0.673s
以上是关于确定npm将为给定版本范围选择的软件包版本的主要内容,如果未能解决你的问题,请参考以下文章