web-dev-qa-db-fra.com

Impossible de trouver une version appropriée pour une installation angulaire - bower

J'ai configuré mon application Angular. Ainsi, lorsqu'elle est transmise à Heroku, elle exécute bower install. Cependant, je reçois des erreurs en raison de problèmes de version.

Lorsque je lance bower install localement, on me présente:

Unable to find a suitable version for angular, please choose one:                                                                           
    1) angular#1.2.16 which resolved to 1.2.16 and is required by angular-resource#1.2.16                                                   
    2) angular#1.2.23 which resolved to 1.2.23 and is required by angular-cookies#1.2.23                                                    
    3) angular#>= 1.0.8 which resolved to 1.2.25 and is required by angular-ui-router#0.2.10                                                
    4) angular#^1 which resolved to 1.2.25 and is required by angular-ui-codemirror#0.1.6                                                   
    5) angular#~1.2.2 which resolved to 1.2.25 and is required by splitter#f5c2195050                                                       
    6) angular#>=1.0.6 which resolved to 1.2.25 and is required by angular-elastic#2.4.0                                                    
    7) angular#~1.2 which resolved to 1.2.25 and is required by angular-nanoscroller#0.2.1                                                  
    8) angular#~1.2.9 which resolved to 1.2.25 and is required by angular-sockjs#0.0.1Prefix the choice with ! to persist it to bower.json  

? Answer::  

Que dois-je faire avec cela? En fait, j'ai besoin de la version 1.3 d'Angular en raison de la fonction anti-rebond.

Mon bower.json ressemble à ceci:

{
  "name": "myapp",
  "version": "0.0.1",
  "dependencies": {
    "json3": "~3.3.1",
    "es5-shim": "~3.1.0",
    "angular-resource": "1.2.16",
    "angular-sanitize": "1.2.16",
    "angular-animate": "1.2.16",
    "angular-ui-router": "~0.2.10",
    "jquery": "~2.1.1",
    "angular-ui-codemirror": "~0.1.6",
    "splitter": "*",
    "angular-cookies": "~1.2.23",
    "angular-elastic": "~2.4.0",
    "angular-local-storage": "~0.0.7",
    "chance": "~0.5.6",
    "nanoscroller": "~0.8.4",
    "angular-nanoscroller": "~0.2.1",
    "angular-sockjs": "~0.0.1"
  }
}
48
tommyd456

Mettez à jour vos dépendances angulaires actuelles vers la version 1.3.x et ajoutez une résolution pour angular afin de supprimer l'invite:

{
  "name": "myapp",
  "version": "0.0.1",
  "dependencies": {
    "angular": "~1.3.x",
    "angular-animate": "~1.3.x",
    "angular-cookies": "~1.3.x",
    "angular-resource": "~1.3.x",
    "angular-sanitize": "~1.3.x",
    "angular-ui-router": "~0.2.10",
    "angular-ui-codemirror": "~0.1.6",
    "angular-elastic": "~2.4.0",
    "angular-local-storage": "~0.0.7",
    "angular-nanoscroller": "~0.2.1",
    "angular-sockjs": ">=0.0.1",
    "json3": "~3.3.1",
    "es5-shim": "~3.1.0",
    "jquery": "~2.1.1",
    "splitter": "*",
    "chance": "~0.5.6",
    "nanoscroller": "~0.8.4"
  },
  "resolutions": {
    "angular": "~1.3.x"
  }
}
74
naeramarth7

Une très bonne explication et résolution du problème peuvent être trouvées ici:

résolutions de tonnerre

Copiez simplement quelques lignes ici pour référence:

Lorsque vous spécifiez des dépendances pour votre application via Bower, certains packages peuvent dépendre de différentes versions de la même bibliothèque. Vous devrez déterminer quelle version des bibliothèques de votre application souhaite réellement. En d'autres termes, vous cassez la cravate. Mais vous ne voulez pas le rompre à chaque fois, alors enregistrez votre choix.

Lorsque vous exécutez l’installation de bower, le processus de résolution est interactif. Lorsque Bower reconnaît qu’il existe deux packages qui dépendent d’un package de versions différentes, il répertorie toutes ces versions et demande:

 enter image description here

La ligne suivante de l'invite est très pratique. Ça lit:

 enter image description here

Impressionnant! Donc, si je tape! 2 à la place, mon choix est enregistré dans bower.json. Plus précisément, il va ajouter une entrée de résolution:

 enter image description here

À présent, lors de la prochaine installation de bower, il n’y aura pas de question interactive sur la version que je veux, car j’ai déjà résolu le problème pour que mon application soit la version 1.5.1.

17
A.I

Vous devriez mettre à jour Bower (ça marche pour moi):

bower update
9
Luillyfe

Supprimez votre répertoire/bower_components et exécutez bower install à nouveau ..

Un bidouillage mais qui fonctionne quand même .. !!

3
Sudhansu Choudhary

Vous pouvez exécuter la commande install et s’il vous invite à sélectionner une version, utilisez (!) Le point d’exclamation comme préfixe pour option. Par exemple! 3 pour la troisième option . Cela serait alors ajouté au fichier bower.json de votre application et résoudrait le conflit.

J'espère que cela t'aides.

1
Arif Banduwale

Essayez d'abord ceci:
npm installer -g bower

Si la solution ci-dessus ne fonctionne pas, essayez:

mise à jour de bower
0
user3365771