Comment installer le dernier état (non marqué) d'un dépôt en utilisant Bower?


163

J'ai un très petit dépôt dans lequel je fais tout le travail de développement dans la branche master et utilise des balises comme points "stables" dans l'histoire.

Je suppose que par défaut, Bower semble récupérer la dernière version balisée d'un dépôt. J'essaye d'obtenir le commit le plus récent dans la branche master.

J'ai essayé d'exécuter tout cela, dans tous les ordres imaginables:

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

J'ai également essayé d'ajouter latestà mon fichier bower.json:

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

Et puis en cours d'exécution:

bower update mypackage

Peu importe ce qu'il semble, obtenez toujours le dernier état étiqueté.

Comment obtenir l'état le plus récent, le plus à jour et non balisé du projet?


1
Documentation complète github.com/bower/bower.json-spec
Jaider

Réponses:


220

Spécifiez un git commit SHA au lieu d'une version:

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

Exemple:

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

Vous pouvez également spécifier une branche au lieu d'un SHA, mais ce n'est généralement pas recommandé sauf si elle est en développement et que vous contrôlez toutes les parties.


1
Oui, j'ai lu toute la discussion sur tout cela dans le suivi des problèmes GH hier soir et j'ai installé le bower # 0.9.3-rc0. Vous avez raison monsieur. Merci!
Johnny

32
À présent, vous pouvez également simplement utiliser <git-url>#<branch-name>au lieu d'ajouter un ID SHA. Vous pouvez donc également utiliser <git-url>#masterpour suivre la branche principale.
MKroehnert

3
Cela ne semble pas fonctionner pour mon référentiel privé. J'essaie de spécifier l'ID de validation. Il renvoie une erreur "fatal: la référence n'est pas un arbre:". On dirait qu'il essaie de trouver la révision dans le référentiel git du conteneur.
Nilesh

1
J'obtiens le fatal: la référence n'est pas non plus un arbre. Assez ennuyeux.
Seiyria

comment forcer l'installation d'une ancienne version dans le package.json si vous en avez déjà une plus récente?
SuperUberDuper

112

Oui, vous pouvez pointer vers l'url git, ou utiliser le raccourci name / repo (pour les dépôts github):

bower.json

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

Plus dans la documentation

Comme @roi l'a noté dans les commentaires, vous pouvez utiliser l' --saveindicateur pour ajouter automatiquement des dépendances bower.json, par exemplebower install terinjokes/docker-npmjs --save


1
et la sélection d'une version est-elle possible?
Tjorriemorrie

12
@Tjorriemorrie Oui, vous pouvez suivre le <package>#<revision>.format répertorié dans la documentation. Donc, pour utiliser la dernière version de jQuery dans la branche "master", vous feriez: git@github.com:jquery/jquery.git#masterou jquery/jquery#masterpour faire court.
Nick Tomlin

6
je dirais que vous aurez plus de chance en utilisant le cli pour l'introduire dans votre bower.json ..... bower installer terinjokes / docker-npmjs --save
Roi

1
Nous pouvons également mentionner les releases / tags en utilisant le symbole # comme ceci -xyz-components": "git@github.sample.com:username/reponame.git#0.4.5
Nitin


17

Si vous utilisez un fichier bower.json, vous spécifiez la dernière version d'une branche avec une ligne dans les dépendances ou devDependencies selon la configuration de votre projet:

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

Ensuite, lorsque vous exécutez bower installla dernière version de cette branche est installée. Ce serait une branche bootstrap3de angular-uidans cet exemple.


Cela fonctionne localement mais échouera sur Heroku. Vous devriez utiliser le à la git://github.com/angular-ui/bootstrap.git#bootstrap3place.
Michael Yagudaev

13
bower install --save package-name#master

ajoute ceci:

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

10

en utilisant bower.json:

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

"[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]"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.