为什么我的项目模块版本错误?

时间:2016-07-06 18:15:33

标签: angularjs git npm bower

我正在构建一个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.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"
  }
}

2 个答案:

答案 0 :(得分:1)

更换:

"angular": "~1.4.0",

使用:

"angular": "1.5.6",

即使有更新的版本,也会保留1.5.6版本

答案 1 :(得分:1)

使用波浪号(“~1.4.0”)表示您将在1.4.x树上进行任何后续的补丁级别更改,从1.4.0开始,但小于1.5.0。要指定确切的版本,只需删除波形符并使用特定的版本号。

而不是:

"angular": "~1.4.0"

这样做:

"angular": "1.4.10"