如何确定旧npm包版本的依赖关系
在我看来,npm站点上的依赖项链接仅适用于当前/最新版本 除了下载包并检查package.json文件之外,是否还有一些我不知道的关于如何确定包的依赖版本的信息 我觉得我在浪费时间做一些我认为更容易做的事情 “在我看来,npm站点上的依赖项链接仅适用于当前/最新版本。” 是的,这是正确的,如何确定旧npm包版本的依赖关系,npm,upgrade,package.json,npm-scripts,Npm,Upgrade,Package.json,Npm Scripts,在我看来,npm站点上的依赖项链接仅适用于当前/最新版本 除了下载包并检查package.json文件之外,是否还有一些我不知道的关于如何确定包的依赖版本的信息 我觉得我在浪费时间做一些我认为更容易做的事情 “在我看来,npm站点上的依赖项链接仅适用于当前/最新版本。” 是的,这是正确的,www.npmjs.com将只显示包的最新版本的依赖项 这里有两种方法可以通过编程和非编程的方式发现您想要什么 以编程方式: 使用具有以下语法的命令 npm view <pkg_name> vers
www.npmjs.com
将只显示包的最新版本的依赖项
这里有两种方法可以通过编程和非编程的方式发现您想要什么
以编程方式:
npm view <pkg_name> versions --json
将以下内容打印到控制台:
eslint
version0.1.2
的依赖项,我们可以运行以下命令:
npm show eslint@0.1.2 dependencies --json
npm show eslint@0.1.2 dependencies.escope
^
这将打印:
类似地,我们可以通过运行以下命令来发现eslint
version0.1.2
的devdependency:
npm show eslint@0.1.2 devDependencies --json
这将产生如下结果:
eslint
version0.1.2
已将escope
列为依赖项
因此,如果我们想知道eslint
version0.1.2
需要的escope
版本,我们可以运行以下命令:
npm show eslint@0.1.2 dependencies --json
npm show eslint@0.1.2 dependencies.escope
^
注意:包名在点(
)后面,即.escope
这将打印以下内容:
1.0.0
非编程方式 我想不出为什么在有CLI工具可用的情况下,要执行以下非编程方式而不是前面提到的编程方式。然而,如果你更喜欢手工任务,那么这里是 注意:YMMV使用以下手动步骤,因为这取决于软件包的管理/维护方式 通常,npm包的源代码将托管在GitHub上,因此您可以执行以下手动步骤。这将避免您必须下载包来检查package.json文件 为此,我们将为
eslint
包演示:
npm view eslint versions --json
eslint
,然后按回车键eslint
,您将进入eslint
repo,即可视化依赖关系树 我有时会使用这个在线工具,它可以帮助您可视化给定包的完整依赖关系树/图-但是它仅适用于包的最新版本
是否为最新版本的eslint提供了完整的依赖关系树/图(多个层次的深度)。所有
npm view
命令(或其别名npm show
)也能成功使用。例如:npm show@babel/core@7.4.0相关性
,也符合第3点<代码>npm show@babel/core@7.4.0依赖项。@babel/helpers
npm show eslint@0.1.2 dependencies.escope
^