155 votes

Installer une dépendance avec Bower à partir d'une URL et spécifier la version

Je suis en train d'essayer d'installer une dépendance avec Bower en utilisant une URL. Conformément à la documentation de Bower :

Bower offre plusieurs façons d'installer des paquets :

    # En utilisant les dépendances répertoriées dans le fichier bower.json du répertoire actuel
    bower install
    # En utilisant un paquet local ou distant
    bower install 
    # En utilisant une version spécifique d'un paquet
    bower install #
    # En utilisant un nom différent et une version spécifique d'un paquet
    bower install =# 

Où peut être l'un des éléments suivants :

  • Un nom qui est associé à un paquet enregistré avec Bower, par exemple, jquery.
  • Un point Git distant, par exemple, git://github.com/someone/some-package.git. Peut être public ou privé.
  • Un point Git local, c'est-à-dire un dossier qui est un référentiel Git.
  • Un point abrégé, par exemple, someone/some-package (par défaut sur GitHub).
  • Une URL vers un fichier, y compris des fichiers zip et tar. Son contenu sera extrait.

Cependant, ensuite il est indiqué que tous les types sauf l'URL permettent de spécifier une version.

Comment spécifier une version pour une dépendance téléchargée via une URL ?

197voto

Sindre Sorhus Points 20538

Utilisez un point de terminaison Git au lieu d'un nom de paquet :

bower install https://github.com/jquery/jquery.git#2.0.3

55voto

le0diaz Points 2298

Si vous utilisez le fichier bower.json pour spécifier vos dépendances:

{
     "dependencies": {
         ...
         "photo-swipe": "git@github.com:dimsemenov/PhotoSwipe.git#v3.0.x",

#bower 1.4 (testé avec cette version) peut lire les dépôts avec un format d'uri

         "photo-swipe": "git://github.com/dimsemenov/PhotoSwipe.git#v3.0.x",

     }
}

N'oubliez pas que bower recherche également les versions publiées et les tags, vous pouvez donc faire référence à presque tout, et interpréter des motifs de requête de base comme dans l'exemple précédent. Cela permettra de récupérer la dernière mise à jour mineure de la version 3.0 (testé à partir de bower 1.3.5)

Mise à jour, comme la description de la question mentionne également l'utilisation uniquement d'une URL et aucune mention d'un dépôt github.

Un autre exemple est d'exécuter cette commande en utilisant l'URL souhaitée, comme:

bower install gmap3MarkerWithLabel=http://google-maps-utility-library-v3.googlecode.com/svn/tags/markerwithlabel/1.0/src/markerwithlabel.js -S

Cette commande télécharge votre bibliothèque js, la place dans {votre chemin de destination}/gmap3MarkerWithLabel/index.js et crée automatiquement une entrée dans votre fichier bower.json appelée gmap3MarkerWithLabel: "..." Ensuite, vous pouvez simplement exécuter bower update gmap3MarkerWithLabel si nécessaire.

La chose amusante, si vous faites le processus à l'envers (ajouter manuellement l'entrée dans bower.json, puis bower install entryName), cela ne fonctionne pas, vous obtenez un

bower ENOTFOUND Package gmapV3MarkerWithLabel not found

22voto

ZXZpbGpvaG5pdXM Points 51

Cibler un commit spécifique

À distance (github)

Lorsque vous utilisez github, notez que vous pouvez également cibler un commit spécifique (par exemple, d'une fork que vous avez faite et mise à jour) en ajoutant son hachage de commit à la fin de son URL de clone. Par exemple:

"dependencies": {
  "example": "https://github.com/owner_name/repo_name.git#9203e6166b343d7d8b3bb638775b41fe5de3524c"
}

Localement (système de fichiers)

Ou vous pouvez cibler un commit git dans votre système de fichiers local si vous utilisez le répertoire .git de votre projet, comme ceci (sur Windows; notez les barres obliques inverses):

"dependencies": {
  "example": "file://C:/Projects/my-project/.git#9203e6166b343d7d8b3bb638775b41fe5de3524c"
}

C'est une façon de tester le code de la bibliothèque que vous avez commité localement mais que vous n'avez pas encore poussé vers le dépôt.

21voto

Darlan Mendonça Points 443

Utilisez ce qui suit:

bower install --save git://github.com/USER/REPOS_NAME.git

Plus d'informations ici: http://bower.io/#getting-started

9voto

Juste une mise à jour.

Maintenant, s'il s'agit d'un dépôt github, il suffit d'utiliser un raccourci github si vous ne vous souciez pas de la version bien sûr.

Raccourci GitHub

$ bower install desandro/masonry

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X