web-dev-qa-db-fra.com

Installation d'une dépendance avec Bower à partir d'une URL et spécifiez la version

J'essaie d'installer une dépendance avec Bower à l'aide d'une URL. Documentation de Bower:

Bower propose plusieurs manières d'installer des packages:

    # Using the dependencies listed in the current directory's bower.json 
    bower install
    # Using a local or remote package 
    bower install <package>
    # Using a specific version of a package 
    bower install <package>#<version>
    # Using a different name and a specific version of a package 
    bower install <name>=<package>#<version> 

<package> peut être l’un des suivants:

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

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

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

151
Edmondo1984

Utilisez un noeud final git au lieu d'un nom de paquet:

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

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

{
     "dependencies": {
         ...
         "photo-swipe": "[email protected]:dimsemenov/PhotoSwipe.git#v3.0.x",

#bower 1.4 (tested with that version) can read repositorios with uri format

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

     }
}

Rappelez-vous simplement que bower recherche également les versions publiées et les balises, ce qui vous permet de pointer vers presque tout et d'interpréter les modèles de requête de base comme dans l'exemple précédent. qui récupérera la dernière mise à jour mineure de la version 3.0 (testée à partir de bower 1.3.5)

Mise à jour, étant donné que la description de la question mentionne également l’utilisation d’une adresse URL et non de la mention d’un référentiel github.

Un autre exemple consiste à 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 et met {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 uniquement exécuter bower update gmap3MarkerWithLabel si besoin.

C'est drôle si vous faites le backwars de processus (ajoutez manuellement l'entrée dans bower.json, puis nom d'installation entryower), cela ne fonctionne pas, vous obtenez un

bower ENOTFOUND Package gmapV3MarkerWithLabel introuvable

53
le0diaz

Cibler un commit spécifique

À distance (github)

Lorsque vous utilisez github, notez que vous pouvez également cibler un commit spécifique (par exemple, d'un fork que vous avez créé et mis à jour) en ajoutant son hash 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)

Vous pouvez également cibler un commit git dans votre système de fichiers local si vous utilisez le répertoire .git de votre projet, par exemple (sous Windows, notez les barres obliques):

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

C'est une façon de tester le code de bibliothèque que vous avez validé localement mais pas encore poussé dans le référentiel.

21
JcT

Utilisez le suivant:

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

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

21
Darlan Mendonça

Juste une mise à jour.

Maintenant, s’il s’agit d’un référentiel github, il suffit d’utiliser un raccourci github si la version ne vous dérange pas, bien sûr.

Sténographie GitHub

$ bower install desandro/masonry
9
Turdaliev Nursultan

Spécifier simplement le point final uri a fonctionné pour moi , bower 1.3.9

  "dependencies": {
    "jquery.cookie": "latest",
    "everestjs": "http://www.everestjs.net/static/st.v2.js"
  }

En cours d'exécution bower install, j'ai reçu le résultat suivant:

bower new           version for http://www.everestjs.net/static/st.v2.js#*
bower resolve       http://www.everestjs.net/static/st.v2.js#*
bower download      http://www.everestjs.net/static/st.v2.js

Vous pouvez également essayer de mettre à jour Bower

  • npm update -g bower

Selon documentation : les types d’URL suivants sont pris en charge:

http://example.com/script.js
http://example.com/style.css
http://example.com/package.Zip (contents will be extracted)
http://example.com/package.tar (contents will be extracted)
7
lfender6445

Voici un moyen pratique et rapide d’installer une balise ou un commit spécifique à partir de GitHub via bower.json.

{
  "dependencies": {
    "your-library-name": "<GITHUB-USERNAME>/<REPOSITORY-NAME>#<TAG-OR-COMMIT>"
  }
}

Par exemple:

{
  "dependencies": {
    "custom-jquery": "jquery/jquery#2.0.3"
  }
}
7
F Lekschas

Je crois que la spécification de la version ne fonctionne que pour les points de terminaison git. Et pas pour les dossiers/Zip. Comme lorsque vous pointez bower sur un fichier/dossier/Zip js, vous avez déjà spécifié le paquet et version (sauf pour js). Parce qu'un paquet a bower.json avec sa version. Spécifier une version dans 'bower install' est logique lorsque vous pointez bower vers un référentiel pouvant contenir plusieurs versions d'un package. Ce ne peut être que git je pense.

3
Shrike

Essayez bower install git://github.com/urin/jquery.balloon.js.git#1.0.3 --save1.0.3 est le numéro de balise que vous pouvez obtenir en lisant balise sous les versions. Pour l'URL également, remplacez par git:// afin que le système se connecte.

3
SACn

Installe le paquet à partir de git et enregistrez-le dans votre bloc de dépendances bower.json.

  1. bower register package-name git-endpoint#version
  2. install package-name --save

(--save enregistre la version du nom du paquet dans le fichier bower.json du bloc de dépendance).

référence

0
Shafeeq Diaz