如何控制 zip 依赖的版本?

How to control version of zip dependencies?

我正在使用 Bower 进行概念验证,并尝试在不使用 Git 的情况下创建包(这是一项要求)。我有两个包裹:

核心 - 主包

日期时间 - 取决于内核

bower.json中我们声明了包的版本,为什么安装会创建一个电子标签呢?

安装命令示例:

bower install http://path.to.package/core-0.0.1.zip

如果我 运行 bower list 我可以看到它(省略了一些其他依赖项):

├── angular#1.3.12 (1.4.0-build.3831+sha.056a317 available)
├─┬ angular-animate#1.3.12 (1.4.0-build.3831+sha.056a317 available)
│ └── angular#1.3.12 (latest is 1.4.0-build.3831+sha.056a317)
├─┬ angular-cookies#1.3.12 (1.4.0-build.3831+sha.056a317 available)
│ └── angular#1.3.12
├─┬ angular-mocks#1.3.12 (1.3.14-build.49+sha.6b7625a available, latest is 1.4.0
-build.3831+sha.056a317)
│ └── angular#1.3.12
├─┬ angular-resource#1.3.12 (1.4.0-build.3831+sha.056a317 available)
│ └── angular#1.3.12
├─┬ angular-route#1.3.12 (1.4.0-build.3831+sha.056a317 available)
│ └── angular#1.3.12
├─┬ angular-sanitize#1.3.12 (1.4.0-build.3831+sha.056a317 available)
│ └── angular#1.3.12
├─┬ angular-scenario#1.3.12 (1.3.14-build.49+sha.6b7625a available, latest is 1.
4.0-build.3831+sha.056a317)
│ └── angular#1.3.12
├─┬ angular-touch#1.3.12 (1.4.0-build.3831+sha.056a317 available)
│ └── angular#1.3.12
├─┬ bootstrap-sass-official#3.3.3
│ └── jquery#2.0.3 (2.1.3 available)
├── es5-shim#4.1.0
├── json3#3.3.2
├─┬ core#e-tag:53d7d65924
│ ├─┬ angular-strap#0.7.4 (latest is 2.1.6)
│ │ ├── bootstrap#2.3.2 (3.3.2 available)
│ │ ├─┬ bootstrap-datepicker#1.3.1
│ │ │ ├── bootstrap#2.3.2 incompatible with >=3.0 <4.0 (3.3.2 available)
│ │ │ └── jquery#2.0.3 (2.1.3 available)
│ │ ├─┬ bootstrap-select#1.6.3 (2.0.0-beta1 available)
│ │ │ └── jquery#2.0.3 (2.1.3 available)
│ │ ├─┬ bootstrap-timepicker#0.2.6
│ │ │ ├── autotype#e-tag:4fc86fb68
│ │ │ ├── bootstrap#2.3.2 (latest is 3.3.2)
│ │ │ └── jquery#2.0.3 (2.1.3 available)
│ │ └── jquery#2.0.3 (2.1.3 available)
└── datetime#e-tag:4c585cbc3e extraneous

如何安装zip包并控制版本依赖?

Bower 当前忽略 bower.json 中指定的版本 属性,有关详细信息,请参阅 bower.json specification
当从 URL 解析包并且响应中存在 ETag header 时,Bower 会将此 header 的值存储在包中元数据。当检查包的新版本是否可用时,Bower 将使用缓存 ETag(通过发送 If-None-Match header)。
请注意,Bower 对使用 URL 目标的支持是有限的,并且不能 drop-in 替代使用 Git。有关详细信息,请查看 UrlResolver.js.