从节点脚本使用 yarn/npm 的正确方法

Correct way to use yarn/npm from node script

在我的脚本中,我想使用 yarn/npm

中的一些功能

喜欢 yarn info packageName 的结果。我可以生成命令并获得输出,但我相信应该有更正确的方法来做到这一点。

找不到任何关于 yarn as package 用法的文档。有什么想法吗?

NPM 和 Yarn 被设计为 CLI 工具。可以使用 require 加载它们,但是由于可执行脚本在选项处理方面做了很多工作,所以这是不切实际的。

最直接和可预测的方法是 运行 他们 child_process spawnexec。有 npm-programmatic and yarn-programmatic 个第三方软件包在内部执行此操作。由于它们的 API 不一定涵盖 100% 的 CLI 功能,因此直接 运行 命令可能仍然有益。

关于程序化使用,NPM and Yarn 存在未解决的问题。