2016-07-06 88 views
0

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

可能与你是如何设置的版本中bower.json确保你,你是设置专门的版本做。 – jbrown

+0

是的,我用我的bower.json更新了这个问题 – ste

+1

使用波浪号(“〜1.4.0”)表示您将在1.4.x树上进行后续的修补程序级别更改,从1.4.0开始,但更少比1.5.0。要指定一个像这个“1.4.10”一样的确切版本格式。 – jbrown

回答

1

更换:

"angular": "~1.4.0", 

有了:

"angular": "1.5.6", 

将保持版本1.5.6即使有新版本可用

1

使用波浪号(“〜1.4。 0“)表示您将在1.4.x树上从1.4.0开始,但小于1.5.0的任何后续修补程序级别更改。要指定确切的版本,只需删除代字号并使用特定的版本号即可。

相反的:

"angular": "~1.4.0" 

这样做:

"angular": "1.4.10" 
相关问题