最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

确定npm将为给定版本范围选择的软件包版本

运维笔记admin13浏览0评论

确定npm将为给定版本范围选择的软件包版本

确定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

+ [email protected]
added 18 packages in 0.673s
发布评论

评论列表(0)

  1. 暂无评论