I'm building an AngularJS application. Everything is working fine but I discover that if I clone the repository for a clear new installation ALL the version of the module in /bower_components and /node_modules are different.
Some examples:
brand new cloned repository:
{
"name": "angular-animate",
"version": "1.5.7",
"license": "MIT",
"main": "./angular-animate.js",
"ignore": [],
"dependencies": {
"angular": "1.5.7"
}
}
Old repository:
{
"name": "angular-animate",
"version": "1.5.6",
"license": "MIT",
"main": "./angular-animate.js",
"ignore": [],
"dependencies": {
"angular": "1.5.6"
}
}
Even AngularJS itself:
New repository:
* #license AngularJS v1.4.12
Old repository:
* #license AngularJS v1.4.10
That is happening for EVERY file in those two folders. How can I save all the current version of the bower and node modules and push that versions on my repository so everything would be okay for a fresh new installation?
EDIT:
This is my current bower.json file. What should I change in order to get specific versions of all AngularJS modules?
{
"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"
}
}
Replacing:
"angular": "~1.4.0",
With:
"angular": "1.5.6",
Will keep version 1.5.6 even if a newer version is available
Using the tilde ("~1.4.0") indicates you'll take any subsequent patch-level changes on the 1.4.x tree, starting with 1.4.0, but less than 1.5.0. To specify an exact version, simply remove the tilde and use the specific version number.
Instead of:
"angular": "~1.4.0"
Do this:
"angular": "1.4.10"
Related
I have a project which was using angular version 1.4. I installed angular material via bower and then subsequently received the following error:
Uncaught TypeError: angular.module(...).info is not a function
I read this was to do with the version of angular I'm using so I updated angular and then angular-animate to 1.6. However this didn't fix the problem. I tried running bower update but I still have the above error.
When I ran bower update I received the following warning...
Resort to using angular#~1.4.2 which resolved to angular#1.4.14
Code incompatibilities may occur.
this is the contents of my bower.json file:
{
"name": "node-template",
"version": "0.0.0",
"main": [
"./public/styles/*.css",
"./public/scripts/*.js"
],
"dependencies": {
"angular-animate": "1.6",
"angular-sanitize": "~1.4.2",
"angular-messages": "~1.4.2",
"bootstrap-sass": "~3.3.5",
"jquery": "~2.1.4",
"angular": "1.6",
"angular-ui-router": "~0.2.15",
"angular-bootstrap": "~2.5.0",
"angular-google-chart": "~0.1.0",
"velocity": "~1.4.2",
"animate.css": "~3.5.2",
"angular-file-saver": "~1.1.3",
"ng-file-upload": "~12.2.13",
"ng-img-crop": "ngImgCrop#~0.3.2",
"angularfire": "~2.3.0",
"angular-material": "~1.1.4"
},
"devDependencies": {
"angular-mocks": "~1.4.2"
},
"overrides": {},
"resolutions": {
"jquery": "~2.1.4",
"angular": "~1.4.2"
}
}
Is bower telling me I'm using version 1.4? I don't understand why it cannot resolve the version problems I'm encountering?
Edit:
here is my new bower.json after upgrading to angular 1.5:
{
"name": "node-template",
"version": "0.0.0",
"main": [
"./public/styles/*.css",
"./public/scripts/*.js"
],
"dependencies": {
"angular-animate": "1.4",
"angular-sanitize": "~1.4.2",
"angular-messages": "~1.4.2",
"bootstrap-sass": "~3.3.5",
"jquery": "~2.1.4",
"angular": "1.5",
"angular-ui-router": "~0.2.15",
"angular-bootstrap": "~2.5.0",
"angular-google-chart": "~0.1.0",
"velocity": "~1.4.2",
"animate.css": "~3.5.2",
"angular-file-saver": "~1.1.3",
"ng-file-upload": "~12.2.13",
"ng-img-crop": "ngImgCrop#~0.3.2",
"angularfire": "~2.3.0",
"angular-material": "~1.1.4"
},
"devDependencies": {
"angular-mocks": "~1.4.2"
},
"overrides": {},
"resolutions": {
"jquery": "~2.1.4",
"angular": "1.5"
}
}
You have Angular 1.4.14 installed. Looking at the bower.json for Angular Material the minimum version of AngularJS required for the package is 1.5 which is probably why you are having errors. Can you not update to AngularJS 1.5?
Failing that, I suggest you install an older version of Angular Material that is compatible with 1.4.x
The error I was seeing...
angular.module(...).info is not a function
...seems to arise when the version of angular-aria (required by angular-material) is newer than the version of angular. I managed to get my build working again by setting angular-aria to be the same version as angular.
In my application, all the packages except Chart and angular-chart are already installed.
I need to install only these two.
Question: How to skip the rest of the packages from being updated or downloaded again?
{
"name": "ui-chromeapp",
"version": "0.0.0",
"dependencies": {
"angular": "~1.2.23",
"angular-bootstrap": "~0.11.0",
"bootstrap": "~3.2.0",
"angular-ui-router": "~0.2.11",
"underscore": "~1.7.0",
"jquery.easy-pie-chart": "~2.1.4",
"sprintf": "~1.0.2",
"jquery.scrollTo":"~2.1.1",
"angular-translate":"~2.8.1",
"angular-translate-loader-static-files" : "~2.8.1",
"Chart.js" : "1.0.1"
},
"devDependencies": {},
"resolutions": {
"Chart.js": "1.0.1"
}
}
Hint: While using bower installcommand, after your ran it once before, no new packages / dependencies were installed. When using bower update new versions of your packages will be downloaded (depending on your bower.json configuration -> package version config). All in all, both commands do not install a package in the same package-version again.
Just remove the version option handlers and you wil be fine. It's not a issue, it's a nice behavior.
{
"name": "ui-chromeapp",
"version": "0.0.0",
"dependencies": {
"angular": "1.2.23",
"angular-bootstrap": "0.11.0",
"bootstrap": "3.2.0",
"angular-ui-router": "0.2.11",
"underscore": "1.7.0",
"jquery.easy-pie-chart": "2.1.4",
"sprintf": "1.0.2",
"jquery.scrollTo":"2.1.1",
"angular-translate":"2.8.1",
"angular-translate-loader-static-files" : "2.8.1",
"Chart.js" : "1.0.1"
},
"devDependencies": {},
"resolutions": {
"Chart.js": "1.0.1"
}
}
I am trying to install angular 1.4.5 using bower.json. This is how my bower.json file looks like
{
"name": "asp.net",
"private": true,
"dependencies": {
"angular": "1.4.5",
"angular-resource": "1.4.5",
"angular-route": "1.4.5",
"bootstrap": "3.3.5"
}
}
after saving, this file got changed to
{
"name": "asp.net",
"private": true,
"dependencies": {
"angular": "1.4.5",
"angular-resource": "1.4.5",
"angular-route": "1.4.5",
"bootstrap": "3.3.5"
},
"resolutions": {
"angular": "1.5.8-build.4928+sha.e8c2e11"
}
}
and i guess because of this, angular is not installing, it says wrong version.
check under Bower folder
any assistance would be greatly appreciated.
use ~ sign in "angular": "~1.4.x"
{
"name": "asp.net",
"private": true,
"dependencies": {
"angular": "~1.4.x",
"angular-resource": "1.4.5",
"angular-route": "1.4.5",
"bootstrap": "3.3.5"
}
}
for more information read this
https://github.com/angular/angular.js/issues
It will be better use this also. Add new issue and you will definitely find something. I never got this kind of problem anytime when I was installing or doing anything with AngularJS.
Thanks
Add below resolution and delete Bower folder.
"resolutions": {
"angular": "1.4.5"
}
This will install v1.4.5 of angular
I hope this helps you
Cheers!
Why can't I install angular-mocks via bower.json?
{
"name": "boilerplate",
"version": "0.0.0",
"dependencies": {
"angular": "latest",
"angular-route": "latest"
},
"devDependencies": {
"angular-mocks": "latest"
}
}
It freezes my Git Bash each time when I run bower install.
I only can install angular-mocks via npm - why?
I'm trying to build a simple test app with angular-schema-form with no success.
{
"name": "schema form test",
"private": true,
"dependencies": {
"angular": "^1.3.x",
"angular-route": "1.3.x",
"angular-schema-form": "0.7.3",
"tv4": "~1.0.15",
"angular-sanitize": ">= 1.2",
"objectpath": "~1.0.4",
"jquery": "~2.1.x",
"jquery-ui": "~1.11.x"
},
"resolutions": {
"angular": "^1.3.x"
}
}
Then the code is actually a copy-paste of example from https://github.com/Textalk/angular-schema-form and it doesn't work. Does anybody see any problems with versions above?
Actually nothing wrong with versions here. It's just stupid me, who didn't put 'schemaForm' in requires when calling angular.module.