Zainstaluj konkretną gałąź z github za pomocą Npm


164

Chciałbym zainstalować program ładujący z github w moim projekcie przy użyciu npm

Obecnie utrzymują dwie wersje tego projektu, które są kompatybilne z wersją 1 i 2 pakietu webpack.

Chciałbym zainstalować wersję 1 . Jakiego polecenia npm powinienem użyć, aby to zainstalować?

Próbowałem użyć poniżej jednego, ale nie działa.

npm install git://github.com/shakacode/bootstrap-loader.git[#v1] --Save 

Odpowiedzi:


253

W poleceniu, które wypróbowałeś, są dodatkowe nawiasy kwadratowe.

Aby zainstalować najnowszą wersję z v1oddziału, możesz użyć:

npm install git://github.com/shakacode/bootstrap-loader.git#v1 --save

5
gdybyśmy musieli załączyć konkretną wersję. jak by to było z oddziałem?
Md_Zubair Ahmed,

2
@Md_ZubairAhmed Nazwa gałęzi w jego przykładzie akurat miała nazwę „v1” - mogłaby nazywać się inaczej, np. „Moja-gałąź” i zachowywać się w ten sam sposób.
Venryx

1
Jeśli chcesz zainstalować określone zatwierdzenie, możesz zrobić: npm install https://github.com/username/package#3d0a21ccGdzie 3d0a21ccjest pierwszych osiem znaków skrótu zatwierdzenia. Znalazłem tę odpowiedź tutaj
Derk Jan Speelman

61

Po prostu zrób:

npm install username/repo#branchName --save

np. (moja nazwa użytkownika to betimer)

npm i betimer/rtc-attach#master --save

// and what will appear in your package.json will be:
"rtc-attach": "github:betimer/rtc-attach#master"

O jednej rzeczy też chcę wspomnieć: nie jest dobrym pomysłem sprawdzanie w pliku package.json, czy serwer kompilacji automatycznie pobiera zmianę. Zamiast tego umieść npm i (pierwsze polecenie) w poleceniu budowania i pozwól serwerowi po prostu zainstalować i wymienić pakiet.


Jakaś szansa, że ​​mógłbyś to zrobić dla pakietu w ramach monorepo?
Paul Razvan Berg

@PaulRazvanBerg Tak, możesz to zrobićnpm install <folder>
Thilak Rao

Nie działa: npm i facebook / github.com/facebook/jest.git#master --save. Lub to: npm i facebook/git@github.com: facebook / jest.git # master --save. Nie działa też
Donato

@Donato Postępuj zgodnie ze wzorem z przykładu
Xin

@Xin to nie działa: npm i facebook / jest # master --save ERR! Nie można zainstalować github: facebook / jest # b5c7092687a265e3f4f2ba6f9787e47e8c6b9d5e: Brak nazwy pakietu
Donato

29

możesz podać wzór git, ponieważ wersja, przędza i npm są wystarczająco sprytne, aby rozwiązać z repozytorium git.

yarn add any-package@user-name/repo-name#branch-name

lub dla npm

npm install --save any-package@user-name/repo-name#branch-name

Nie działa. Spróbuj tego: npm i jest @ facebook / git @ github.com: facebook / jest.git # master
Donato

5

Innym podejściem byłoby dodanie następującego wiersza do package.jsonzależności:

"package-name": "user/repo#branch"

Na przykład:

"dependencies": {
    ... other dependencies ...

    "react-native": "facebook/react-native#master"
}

A następnie zrób npm installlubyarn install


2

Używam SSH do uwierzytelniania mojego konta GitHub i mam kilka zależności w moim projekcie zainstalowanych w następujący sposób:

"dependencies": {
  "<dependency name>": "git+ssh://git@github.com/<github username>/<repository name>.git#<release version | branch>"
}

2
Dziękuję Ci za to!
Alexey Strizhak

1

Musiałem umieścić adres URL w cudzysłowie, żeby zadziałało

npm install "https://github.com/shakacode/bootstrap-loader.git#v1" --save

0

Wypróbowałem sugerowane odpowiedzi, ale działało tylko z tym podejściem przedrostkowym:

npm i github:user/repo.git#version --save -D

2
Dodaj wyjaśnienie wraz z odpowiedzią, w jaki sposób ta odpowiedź pomaga OP w naprawianiu bieżącego problemu
ρяσѕρєя K

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.