web-dev-qa-db-ja.com

バウアーが更新しないのはなぜですかangular角度をアップグレードしますか?

angular 1.2.3があり、1.2.7にアップグレードしたい

> cat bower.json
...
  "dependencies": {
    "json3": "~3.2.4",
    "jquery": "~1.9.1",
    "es5-shim": "~2.0.8",
    "toastr": "~2.0.1",
    "angular-ui-tinymce": "latest",
    "underscore": "~1.5.2",
    "underscore.string": "~2.3.3",
    "angular-ui-utils": "~0.0.4",
    "angular-dragdrop": "~1.0.5",
    "angular-cookies": "~1.2.3",
    "angular-animate": "~1.2.3",
    "angular-resource": "~1.2.3",
    "angular": "~1.2.3"
  },
  "devDependencies": {
    "angular-mocks": "~1.2.3",
    "bootstrap": "~3.0.1",
    "font-awesome": "~4.0.3",
    "angular-bootstrap-affix": "~0.3.0"
  }
...

次の出力が何を意味するかわからない....、それは何をしているのですか?

> bower update angular
bower angular#~1.x              cached git://github.com/angular/bower-angular.git#1.2.7
bower angular#~1.x            validate 1.2.7 against git://github.com/angular/bower-angular.git#~1.x
bower angular#>= 1.0.2          cached git://github.com/angular/bower-angular.git#1.2.7
bower angular#>= 1.0.2        validate 1.2.7 against git://github.com/angular/bower-angular.git#>= 1.0.2
bower angular#1.2.3             cached git://github.com/angular/bower-angular.git#1.2.3
bower angular#1.2.3           validate 1.2.3 against git://github.com/angular/bower-angular.git#1.2.3
bower angular#~1.2.3            cached git://github.com/angular/bower-angular.git#1.2.7
bower angular#~1.2.3          validate 1.2.7 against git://github.com/angular/bower-angular.git#~1.2.3
bower angular#~1.x                 new version for git://github.com/angular/bower-angular.git#~1.x
bower angular#~1.x             resolve git://github.com/angular/bower-angular.git#~1.x
bower angular#>= 1.0.2             new version for git://github.com/angular/bower-angular.git#>= 1.0.2
bower angular#>= 1.0.2         resolve git://github.com/angular/bower-angular.git#>= 1.0.2
bower angular#~1.2.3               new version for git://github.com/angular/bower-angular.git#~1.2.3
bower angular#~1.2.3           resolve git://github.com/angular/bower-angular.git#~1.2.3
bower angular#~1.x            download https://github.com/angular/bower-angular/archive/v1.2.8-build.2095+sha.28fc80b.tar.gz
bower angular#>= 1.0.2        download https://github.com/angular/bower-angular/archive/v1.2.8-build.2095+sha.28fc80b.tar.gz
bower angular#~1.2.3          download https://github.com/angular/bower-angular/archive/v1.2.8-build.2095+sha.28fc80b.tar.gz
bower angular#>= 1.0.2         extract archive.tar.gz
bower angular#>= 1.0.2        resolved git://github.com/angular/bower-angular.git#1.2.8-build.2095+sha.28fc80b
bower angular#~1.x             extract archive.tar.gz
bower angular#~1.x            resolved git://github.com/angular/bower-angular.git#1.2.8-build.2095+sha.28fc80b
bower angular#~1.2.3           extract archive.tar.gz
bower angular#~1.2.3          resolved git://github.com/angular/bower-angular.git#1.2.8-build.2095+sha.28fc80b

何も変わっていません?まだ1.2.3にいます

> git diff
diff --git a/ngapp/app/bower_components/angular/.bower.json b/ngapp/app/bower_components/angular/.bower.json
index dc9d0b6..842a1f3 100644
--- a/ngapp/app/bower_components/angular/.bower.json
+++ b/ngapp/app/bower_components/angular/.bower.json
@@ -11,6 +11,6 @@
     "commit": "b112b099971f4cf016023bdeb00b267e9bf6dfb5"
   },
   "_source": "git://github.com/angular/bower-angular.git",
-  "_target": "~1.2.3",
+  "_target": "1.2.3",
   "_originalSource": "angular"
 }

> bower --version
1.2.8

何か不足していますか?

> bower info angular
.... shows all versions including 1.2.7 and 1.2.8-builds as well
14
Homan

angularを個別に更新できないように依存していると思います。たとえば、bower_components/angular-route/bower.jsonを見てください。特定のバージョンのangularが表示されます。依存関係( "1.2.3")であり、~/"reasonably close"指定子( "〜1.2.3")ではありません。したがって、角度のみを更新しようとしていますが、バウアーが取ることができる最も遠いあなたのangularは、そのバージョンに正確に依存する他のパッケージがあるため、現在のバージョンです。

bower updateを実行すると、bowerは、angular-routeおよびangular backを保持している他のパッケージを含む、すべてのパッケージを更新する機会があります。これらのパッケージの更新により、 bowerを更新するangular依存関係を満たします。また、特定のangularバージョンに依存するすべてのパッケージを識別した場合、bower list)をbower update angular angular-mocks angular-resource angular-route angular-sanitize...のような引数として渡した場合、bowerも更新を実行できます。

17
Carl G

問題はこれについてだと思います

"angular": "~1.2.3" 

https://github.com/isaacs/node-semver/

"Reasonably close to 1.2.3". 

だからあなたはそれを変えるべきです

"angular": "1.2.7" 

UPDATE:(コメントにありますが、指摘した方がいいと思います)

パッケージ名をupdateコマンドに渡して、個々のパッケージのみを更新することはできません。すべて更新されます。 bower installを実行すると、単一パッケージの最新バージョンを取得できます。それはあなたが現在持っているバージョンを上書きするだけです

7
Whisher