Installieren Sie einen bestimmten Zweig von Github mit Npm

164

Ich möchte den Bootstrap-Loader von github in meinem Projekt mit npm installieren

Derzeit werden zwei Versionen dieses Projekts verwaltet, die mit den Webpack-Versionen 1 und 2 kompatibel sind.

Ich möchte Version 1 installieren . Welchen npm-Befehl sollte ich verwenden, um dies zu installieren?

Ich habe versucht, unter einem zu verwenden, aber es funktioniert nicht.

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

Antworten:

252

Der Befehl, den Sie ausprobiert haben, enthält zusätzliche eckige Klammern.

Um die neueste Version aus dem v1Zweig zu installieren , können Sie Folgendes verwenden:

npm install git://github.com/shakacode/bootstrap-loader.git#v1 --save
damit nicht
quelle
5
wenn wir die spezifische Version anhängen müssten. Wie wäre es dann zusammen mit der Niederlassung?
Md_Zubair Ahmed
2
@Md_ZubairAhmed Der Filialname in seinem Beispiel wurde zufällig "v1" genannt - er könnte auch "my-branch" heißen und sich genauso verhalten.
Venryx
1
Wenn Sie ein bestimmtes Comit installieren möchten, haben Sie folgende Möglichkeiten: npm install https://github.com/username/package#3d0a21ccWo 3d0a21ccsind die ersten acht Zeichen des Commit-Hashs? Ich habe diese Antwort hier gefunden
Derk Jan Speelman
62

Mach einfach:

npm install username/repo#branchName --save

zB (mein Benutzername ist 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"

Eines möchte ich auch erwähnen: Es ist keine gute Idee, in package.json nach dem Build-Server zu suchen, um die Änderung automatisch abzurufen. Fügen Sie stattdessen den Befehl npm i (erster Befehl) in den Befehl build ein und lassen Sie den Server das Paket einfach installieren und ersetzen.

Xin
quelle
Gibt es eine Chance, dass Sie dies für ein Paket innerhalb eines Monorepo tun können?
Paul Razvan Berg
@PaulRazvanBerg Ja, das kannst dunpm install <folder>
Thilak Rao
Funktioniert nicht: npm i facebook / github.com/facebook/jest.git#master --save. Oder dies: npm i facebook/[email protected]: facebook / jest.git # master --save. Funktioniert auch nicht
Donato
@ Donato Bitte folgen Sie dem Muster im Beispiel
Xin
@Xin es funktioniert nicht: npm i facebook / jest # master --save ERR! Github kann nicht installiert werden: facebook / jest # b5c7092687a265e3f4f2ba6f9787e47e8c6b9d5e: Fehlender Paketname
Donato
28

Sie können Git-Muster als Version angeben, Garn und Npm sind klug genug, um aus einem Git-Repo zu lösen.

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

oder für npm

npm install --save any-package@user-name/repo-name#branch-name
mkg
quelle
Funktioniert nicht Versuchen Sie Folgendes: npm i jest @ facebook / git @ github.com: facebook / jest.git # master
Donato
5

Ein anderer Ansatz wäre, package.jsonAbhängigkeiten die folgende Zeile hinzuzufügen :

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

Beispielsweise:

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

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

Und dann mach npm installoderyarn install

Ilarion Halushka
quelle
2

Ich verwende SSH, um mein GitHub-Konto zu authentifizieren, und habe einige Abhängigkeiten in meinem Projekt wie folgt installiert:

"dependencies": {
  "<dependency name>": "git+ssh://[email protected]/<github username>/<repository name>.git#<release version | branch>"
}
Esteban Borai
quelle
2
Danke dafür!
Alexey Strizhak
0

Versuchte vorgeschlagene Antworten, funktionierte aber nur mit diesem Präfix-Ansatz:

npm i github:user/repo.git#version --save -D
Artjom Kurapov
quelle
2
Fügen Sie eine Erklärung mit Antwort hinzu, wie diese Antwort OP bei der Behebung des aktuellen Problems
hilft
0

Musste die URL in Anführungszeichen setzen, damit es funktioniert

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

Das Dokument der npm definiert, dass nach repo_url nur Tag / Version angegeben werden kann.

Hier ist das Dokument: https://docs.npmjs.com/cli/install

MEIN
quelle
4
In den Dokumenten ist eindeutig angegeben, #commitishdass dies fürnpm install <git remote url>
kͩeͣmͮpͥ 14