angularjs - 为什么 bower 更新 Angular 不升级我的 Angular ?

标签 angularjs bower

我有 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

最佳答案

我认为您的依赖项阻止您单独更新 angular。例如,查看 bower_components/angular-route/bower.json .您将看到特定版本的 angular 被列为依赖项(“1.2.3”)而不是 ~/"reasonably close"说明符"("~1.2.3")。因此,您正在尝试仅更新 angular,但是 bower 可以采用的最远的 angular 是当前版本,因为您还有其他软件包完全依赖于该版本。

如果你这样做 bower update然后 bower 将有机会更新您的所有包,包括 angular-route 和其他阻碍 angular 的包。这些包的更新现在将允许 bower 在满足依赖关系的同时更新 angular。另外,我认为如果您根据特定的 Angular 版本确定了所有这些包(您可以使用 bower list 看到依赖项)并将它们作为参数传递,例如 bower update angular angular-mocks angular-resource angular-route angular-sanitize...然后 bower 也可以执行更新。

关于angularjs - 为什么 bower 更新 Angular 不升级我的 Angular ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21029679/

相关文章:

javascript - AngularJS 和 jQuery - 如何在其父级的 Click 事件中找到子 div 的 ID?

javascript - 使用复选框和 Angular 将 true/false 值设置为 localStorage

angularjs - 支持 bower 的 Webpack

linux - Bower:未找到命令

node.js - 根据脚本内容恢复 node-modules 和 bower_components

AngularJs 动态表单生成与验证

angularjs - 如何在 Angular 应用程序中更新 map 标记

javascript - 如何在 angularjs 中单独将指令附加到 div

bower 在安装前显示包依赖关系树

twitter-bootstrap - 在不接触 Bower 的情况下覆盖 Bootstrap 变量