GitHub 为原始存储库中的每个 PR 维护一个 namespace,因此这也有效:
npm install <user>/<repo>#pull/<id>/head
注意:它似乎不适用于 NPM v. 5。请参阅下面的评论。 适用于 npm 7.0.23 以及可能更早的版本。请参阅下面的评论。
例如:
npm i --save-dev json-schema-faker/json-schema-faker#pull/129/head
或用纱线:
yarn add <user>/<repo>#<id>/head
例如:
yarn add json-schema-faker/json-schema-faker#129/head
请注意,在 Yarn 情况下,包标识符中没有
pull/
段。
如果您需要自动化安装或删除 PR 来源的存储库/分支,这可能会有所帮助。另请参阅 GitHub 上的在本地修改非活动拉取请求。
如何直接从 GitHub 安装 NodeJS 包?”提到可以指定分支。
因此,如果您知道 PR 来自的存储库和分支,您可以执行以下操作:
npm install git+https://github.com/user/repo.git#branch
值得一提的是,您可能需要转义
#
才能使用 shell 中的特定分支,即:npm install git+https://github.com/user/repo.git\#branch
请注意,您要安装的存储库必须是 npm 模块,它必须包含
package.json
文件,否则您将收到此错误:Error: ENOENT, open 'tmp.tgz-unpack/package.json'.
在 Node v20 上,我发现它可以与
git+
一起使用,也可以不使用它,如下所示:npm install github.com/user/repo\#branch