2014-04-08 5 views
10

ich eine bower.json DateiWarum Bower meine „Auflösungen“ entfernen und wie verhindere ich es

{ 
    "name": "example-project", 
    "private": true, 
    "dependencies": { 
    "angular": "1.2.14", 
    "angular-scenario": "1.2.14", 
    "angular-resource": "1.2.14", 
    "angular-ui-router": "0.2.10", 
    "angular-strap": "2.0.0" 
    } 
} 

Als ich grunt laufen (mit Grunzen-bowercopy oder Grunzen-Lauben Aufgabe haben) ich erhalte eine Fehlermeldung Fatal error: Unable to find suitable version for angular

Als ich bower install laufen sie sagt es nicht, welche Version von Winkel weiß zu verwenden:

Unable to find a suitable version for angular, please choose one: 
1) angular#1.2.14 which resolved to 1.2.14 and is required by angular-scenario#1.2.14, example-project 
2) angular#>= 1.0.8 which resolved to 1.2.16 and is required by angular-ui-router#0.2.10 
3) angular#~1.2.10 which resolved to 1.2.16 and is required by angular-strap#2.0.0 

Prefix the choice with ! to persist it to bower.json 

So erklärt, warum Grunt fehlgeschlagen war - es hatte transitive Abhängigkeiten und wusste nicht, welche zu wählen. Also wähle ich 1 (!1, um zu bestehen). Jetzt sieht meine bower.json so aus:

{ 
    "name": "example-project", 
    "private": true, 
    "dependencies": { 
    "angular": "1.2.14", 
    "angular-scenario": "1.2.14", 
    "angular-resource": "1.2.14", 
    "angular-ui-router": "0.2.10", 
    "angular-strap": "2.0.0" 
    }, 
    "resolutions": { 
    "angular": "1.2.14" 
    } 
} 

Sweet! Ich laufe wieder bower install. Diesmal gelingt es aber, den "Resolutions" -Teil zu entfernen. Jetzt funktioniert es nur für mich ohne Auflösungen, aber meine Mitarbeiter werden den gleichen Fehler bekommen und müssen den gleichen Prozess durchlaufen.

Warum macht es das? Gibt es eine Möglichkeit, das zu verhindern?

-Update-

Es scheint, dass dies ein Fehler ist. Siehe bower Probleme https://github.com/bower/bower/issues/1061 und https://github.com/bower/bower/issues/1272. Hoffentlich wird das Problem etwas Aufmerksamkeit bekommen und gelöst werden.

Antwort

1

Upgrade auf Bower 1.4.0 oder höher, wenn dieses Problem behoben ist.

Zurück Antwort: Eine Abhilfe durch edeustace vorgeschlagen (siehe https://github.com/bower/bower/issues/1061) ist ein Skript Build hinzufügen (grunzen, schluck, usw.), die die Beschlüsse zurücksetzt, wie sie nach dem Ausführen von Bower sein sollte. Es ist eine hässliche Lösung, sollte aber den Trick machen, bis das Problem gelöst ist.

Verwandte Themen