Wie installiere ich den neuesten (nicht getaggten) Status eines Repos mit Bower?


163

Ich habe ein sehr kleines Repo, in dem ich alle Entwicklungsarbeiten im Master-Zweig erledige und Tags als "stabile" Punkte in der Geschichte verwende.

Ich denke, standardmäßig scheint Bower die neueste getaggte Version eines Repos abzurufen . Ich versuche, das neueste Commit in der Hauptniederlassung abzurufen.

Ich habe versucht, all dies in jeder denkbaren Reihenfolge auszuführen:

bower cache-clean mypackage
bower install mypackage --force-latest
bower install mypackage --force --force-latest
bower install mypackage --force

Ich habe auch versucht latest, meiner Datei bower.json Folgendes hinzuzufügen:

"dependencies": {
  "mypackage": "latest"
}

Und dann rennen:

bower update mypackage

Egal, wie es scheint, es wird immer der neueste Tag-Status angezeigt.

Wie erhalte ich den neuesten, aktuellsten und nicht getaggten Status des Projekts?


1
Vollständige Dokumentation github.com/bower/bower.json-spec
— Jaider

Antworten:


220

Geben Sie einen Git Commit SHA anstelle einer Version an:

bower install '<git-url>#<git-commit-sha>'

Beispiel:

bower install 'git://github.com/yeoman/stringify-object.git#d2895fb97d'

Sie können auch einen Zweig anstelle eines SHA angeben. Dies wird jedoch im Allgemeinen nicht empfohlen, es sei denn, er befindet sich in der Entwicklung und Sie steuern alle Teile.


1
Ja, ich habe die ganze Diskussion über all das im GH Issue Tracker letzte Nacht durchgelesen und die Laube # 0.9.3-rc0 installiert. Sie sind richtig, Sir. Vielen Dank!
— Johnny

32
Inzwischen können Sie auch einfach <git-url>#<branch-name>eine SHA-ID hinzufügen, anstatt sie hinzuzufügen. Sie können also auch <git-url>#masterden Hauptzweig verfolgen.
— MKroehnert

3
Dies scheint jedoch für mein privates Repository nicht zu funktionieren. Ich versuche, die Commit-ID anzugeben. Es wird der Fehler "fatal: Referenz ist kein Baum:" zurückgegeben. Sieht so aus, als würde versucht, die Revision im Git-Repo des Containers zu finden.
— Nilesh

1
Ich bekomme das Tödliche: Referenz ist auch kein Baum. Ziemlich nervig.
— Seiyria

Wie erzwingen Sie die Installation einer älteren Version in package.json, wenn Sie bereits eine neuere haben?
— SuperUberDuper

112

Ja, Sie können auf die Git-URL verweisen oder die Kurzform name / repo verwenden (für Github-Repos):

bower.json

{
  "name": "bower-test",
  "dependencies": {
    "dpm": "git@github.com:okfn/dpm.git",
    "docker-nmpjs": "terinjokes/docker-npmjs"
  }
}

Mehr in den Dokumenten

Wie @roi in den Kommentaren vermerkt, können Sie das --saveFlag verwenden, um automatisch Abhängigkeiten hinzuzufügen bower.json, zbower install terinjokes/docker-npmjs --save


1
und ist die auswahl einer version möglich?
— Tjorriemorrie

12
@Tjorriemorrie Ja, Sie können dem <package>#<revision>.in den Dokumenten aufgeführten Format folgen . Wenn Sie also die neueste Version von jQuery im Zweig "master" verwenden möchten, tun Sie Folgendes: git@github.com:jquery/jquery.git#masteroder jquery/jquery#masterkurz:
— Nick Tomlin

6
Ich würde sagen, Sie werden mehr Glück haben, wenn Sie die CLI verwenden, um sie in Ihre bower.json zu bekommen ..... bower install terinjokes / docker-npmjs --save
— Roi

1
Wir können die Releases / Tags auch mit dem # -Symbol wie xyz-components": "git@github.sample.com:username/reponame.git#0.4.5
— Nitin


17

Wenn Sie eine bower.json-Datei verwenden, geben Sie die neueste Version eines Zweigs mit einer Zeile in den Abhängigkeiten oder devDependencies an, je nach Projektkonfiguration:

"angular-bootstrap": "git@github.com:angular-ui/bootstrap.git#bootstrap3",

Wenn Sie dann bower installdie neueste Version dieses Zweigs ausführen , wird diese installiert. Das wäre Zweig bootstrap3des angular-uiin diesem Beispiel.


Dies funktioniert lokal, schlägt jedoch bei Heroku fehl. Sie sollten git://github.com/angular-ui/bootstrap.git#bootstrap3stattdessen die verwenden.
— Michael Yagudaev

13
bower install --save package-name#master

fügt hinzu:

"dependencies": {
  "package-name": "master"
}

10

mit bower.json:

"dependencies": {
    "jquery.slimscroll": "latest",
    "jQuery": "1.11",
    "fullPage.js": "git@github.com:overbyte/fullPage.js.git#1d6bbac3d4c3b1d3d7d4096cdbcabd1c3914393f",
}

wo

"[library name - in this case a forked version of fullpage.js]" : "[from git clone box in github][#commit number if required - without this you will get latest tagged version]"
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.