npm install from github pull request
Loooking at the npm install docs it looks possible to npm install from a github repo.
Is it also possible to install specifically from a pull request?
Is the solution just to install based on the last commit (last sha) of the pull request?
Solution 1:
GitHub is maintaining a namespace for each PR in the original repo, so this works as well:
npm install <user>/<repo>#pull/<id>/head
NOTE: It doesn't seeem to be working with NPM v. 5. See the comment below. Works with npm 7.0.23 and possibly earlier versions. See the comment below.
for example:
npm i --save-dev json-schema-faker/json-schema-faker#pull/129/head
or with yarn:
yarn add <user>/<repo>#<id>/head
for example:
yarn add json-schema-faker/json-schema-faker#129/head
Note that in Yarn case there is no pull/
segment in the package identifier.
This may be helpful if you need to automate the installation or repo / branch from where PR is originating is removed. See also Modifying an inactive pull request locally at GitHub.
Solution 2:
"How to install NodeJS package from GitHub directly?" mentions that you can specify a branch.
So if you know the repo and branch from which a PR comes from, you can do a:
npm install git+https://github.com/user/repo.git#branch
Worth saying that you might need to escape the
#
to use a specific branch from the shell, i.e.:
npm install git+https://github.com/user/repo.git\#branch
Note that repository you want to install must be a npm module, it must contain a
package.json
file or else you will get this error:
Error: ENOENT, open 'tmp.tgz-unpack/package.json'.