【发布时间】:2016-11-08 22:00:31
【问题描述】:
我正在构建一个 AngularJS 应用程序。一切正常,但我发现如果我克隆存储库以进行清晰的新安装,/bower_components 和 /node_modules 中的所有模块版本都是不同的。
一些例子:
全新的克隆存储库:
{
"name": "angular-animate",
"version": "1.5.7",
"license": "MIT",
"main": "./angular-animate.js",
"ignore": [],
"dependencies": {
"angular": "1.5.7"
}
}
旧仓库:
{
"name": "angular-animate",
"version": "1.5.6",
"license": "MIT",
"main": "./angular-animate.js",
"ignore": [],
"dependencies": {
"angular": "1.5.6"
}
}
甚至 AngularJS 本身:
新仓库:
* @license AngularJS v1.4.12
旧仓库:
* @license AngularJS v1.4.10
这两个文件夹中的每个文件都会发生这种情况。如何保存所有当前版本的 bower 和 node 模块并将这些版本推送到我的存储库中,以便全新安装一切正常?
编辑:
这是我当前的 bower.json 文件。为了获得所有 AngularJS 模块的特定版本,我应该改变什么?
{
"name": "angular-seed",
"description": "A starter project for AngularJS",
"version": "0.0.0",
"homepage": "https://github.com/angular/angular-seed",
"license": "MIT",
"private": true,
"dependencies": {
"angular": "~1.4.0",
"angular-route": "~1.4.0",
"angular-loader": "~1.4.0",
"angular-mocks": "~1.4.0",
"html5-boilerplate": "~5.2.0",
"angular-payments": "*",
"jquery": "^2.2.3",
"webcam": "webcam-directive#^3.1.1",
"angularjs-slider": "^2.14.0",
"a0-angular-storage": "^0.0.15",
"angular-animate": "^1.5.6"
}
}
【问题讨论】:
-
可能与您在 bower.json 中设置版本控制的方式有关确保您已针对特定版本进行了配置。
-
是的,我用 bower.json 更新了问题
-
使用波浪号 ("~1.4.0") 表示您将对 1.4.x 树进行任何后续补丁级别更改,从 1.4.0 开始,但小于 1.5.0。改为指定像“1.4.10”这样的确切版本格式。