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 

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

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.


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/git@github.com: 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

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


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://git@github.com/<github username>/<repository name>.git#<release version | branch>"
}

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

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.