从 github 拉取请求进行 npm 安装

问题描述 投票:0回答:2

查看 npm install docs 看起来可以从 github 存储库安装 npm。

是否也可以通过拉取请求专门安装?

解决方案是否只是根据拉取请求的最后一次提交(最后一个 sha)进行安装?

github npm
2个回答
117
投票

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 上的在本地修改非活动拉取请求。


30
投票
2015:“

如何直接从 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'.


2024 年第四季度:

tyler36 添加了评论

在 Node v20 上,我发现它可以与

git+

 一起使用,也可以不使用它,如下所示:

npm install github.com/user/repo\#branch

    
© www.soinside.com 2019 - 2024. All rights reserved.