【发布时间】:2016-01-15 20:17:03
【问题描述】:
查看npm install docs 似乎可以从 github 存储库进行 npm install。
是否也可以通过拉取请求专门安装?
解决方案是否只是基于拉取请求的最后一次提交(最后一个 sha)来安装?
【问题讨论】:
查看npm install docs 似乎可以从 github 存储库进行 npm install。
是否也可以通过拉取请求专门安装?
解决方案是否只是基于拉取请求的最后一次提交(最后一个 sha)来安装?
【问题讨论】:
GitHub 为原始 repo 中的每个 PR 维护一个 namespace,所以这也有效:
npm install <user>/<repo>#pull/<id>/head
注意:它似乎不适用于 NPM v. 5。请参阅the comment below。 适用于 npm 7.0.23 和可能的更早版本。见the comment below。
例如:
npm i --save-dev json-schema-faker/json-schema-faker#pull/129/head
或yarn:
yarn add <user>/<repo>#<id>/head
例如:
yarn add json-schema-faker/json-schema-faker#129/head
请注意,在 Yarn 情况下,包标识符中没有 pull/ 段。
如果您需要自动化安装或删除 PR 来源的 repo / 分支,这可能会有所帮助。另请参阅 GitHub 上的 Modifying an inactive pull request locally。
【讨论】:
npm install --verbose <URL> 的输出版本4.x.x(它在哪里工作)和5.x.x。如果您使用的是NVM,则可以轻松切换:nvm install 7 用于 NPM 4,nvm install 8 用于 NPM 5。祝您好运,请分享您的发现。
“How to install NodeJS package from GitHub directly?”提到可以指定一个分支。
因此,如果您知道 PR 来自的 repo 和分支,您可以执行以下操作:
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'.
【讨论】: