首页 > 解决方案 > 在不安装的情况下检索有关已安装 npm 包的名称和信息

问题描述

我正在尝试找到一种方法来以编程方式检索有关 npm 兼容节点包的信息 - 特别是它的名称和 peerDependencies。

我正在构建一个命令行工具,它接受将直接传递给 npm install 的包名称。因此,正常的 npm 包名称(如lodash)可以正常工作,GitHub URL(如lodash/lodash#1234567工作)和本地文件路径(如工作)/my/path/to/a/package也可以工作。

这使得检索已安装包的名称变得很困难,因为输入首先由 npm 解析,然后将生成的依赖项名称写入 package.json 文件。

我想问一下是否有一种编程方式来检索与从命令行运行 npm install 包的用户兼容的 npm 包的信息,即提供以下功能:

我已经尝试过的事情:

我现在在做什么:

我在安装之前和安装之后解析 package.json 并获取依赖项的差异(应该只有一个)。然后,此依赖项是解析后的名称,我可以使用它来导入 package.json 并检索 peerDependencies 列表。

但这感觉很 hacky,我仍然必须安装包才能获得我需要的信息。

因此,我想问是否有人有更好的想法来解决这个问题。

标签: node.jsnpmnpm-install

解决方案


推荐阅读