2015-10-17 15 views

Odpowiedz

38

GitHub jest utrzymanie namespace dla każdego PR w oryginalnym repozytorium, więc to też działa:

npm install <user>/<repo>#pull/<id>/head 

NOTE: It doesn't seeem to be working with NPM v. 5. See the comment below .

na przykład:

npm i --save-dev json-schema-faker/json-schema-faker#pull/129/head 

lub z yarn:

yarn add <user>/<repo>#<id>/head 

na przykład:

yarn add json-schema-faker/json-schema-faker#129/head 

Należy pamiętać, że w przypadku przędzy nie ma pull/ segmentu w identyfikator pakietu tifier.

Może to być pomocne, jeśli konieczne jest zautomatyzowanie instalacji lub repo/oddziału, z którego usunięto element PR. Zobacz także Modifying an inactive pull request locally na GitHub.

+0

To działa, ale: Jak zainstalować wiele żądań ściągnięcia (i scalić je)? – Munchkin

+2

@Munchkin Nie sądzę, żeby to było coś, co zrobiłbyś sam z NPM. Może rozwidlić repozytorium, połączyć PR's w swoim widelcu i zainstalować od tego? –

+2

Przędza (lub Github już nie?) Nie obsługuje pobierania w tagu. Tak więc dla powyższego przykładu byłby to: json-schema-faker/json-schema-faker # 129/head. Istnieje również sufiks "scalający" (zamiast "head") dla niektórych PR-ów, ale nie wiem, co to oznacza. –

14

"How to install NodeJS package from GitHub directly?" wspomina o tym, że możesz określić gałąź.

Więc jeśli znasz repo i oddział, z którego PR pochodzi, można zrobić:

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'. 
Powiązane problemy