Reputation: 5161
I am creating a new Angular project and would like all the Angular dependencies to be from the stable 7th version. However, it seems that while running the ng new app
command the Angular always fetches the latest version. My package.json shows all the angular packages like core, animations etc from ~8.0.0
.
I know that I can modify the package.json and set these dependencies to be fetched as per the semantic 7.x.x, but I would rather want it to be done automatically so that I do not run a chance of mis-matching any peer dependencies.
So, Is there a way that we can tell the CLI to fetch a particular angular version and all the dependencies according to that angular version.
EDIT: I have already tried insatlling @angular/[email protected]. Even after doing this if I run ng new app, my depencies are fetched as per the 8th version
Upvotes: 56
Views: 48261
Reputation: 57
Try this:
ng new name-of-project --version=your_version
For Example to install version 7:
ng new name-of-project --version=7
Upvotes: 4
Reputation: 614
I had the same issue and solve it as below:
Create a new folder in your desired directory
Then open the CMD (command prompt) inside the newly created folder. In windows, you can open the newly created folder and type cmd inside the address bar.
Now Install your specific Angular CLI version like below:
npm install @angular/[email protected] // Angular version 13.0.2
npm install @angular/cli@latest // Angular latest version
Now create an Angular new project with this command:
ng new your_project_name
So, your current created project will be the same as the above CLI version
Upvotes: 2
Reputation: 3230
It can be done by using npx command that downloads and runs the package without installing it.
For example, npx @angular/cli@9 new my-project
creates a new folder my-project
in the current folder and puts a new project here using angular version 9. The local version of @angular/cli
in this case will be the same as used in npx
command so you can just continue working.
The syntax of the command is as follows npx @angular/cli@<package version> new <project-name>
.
Upvotes: 51
Reputation: 2699
You can also install the angular CLI locally... lets say in /my-folder:
Run inside my-folder:
npm i @angular/cli
This installs the latest available version of the CLI, but you can install whatever existing version (e.g. npm i @angular/[email protected]
)
When the npm install is done the angular CLI will land here: /my-folder/node_modules/@angular/cli
Inside my-folder you can run ng new my-project
This will create a new angular project here: /my-folder/my-project
The angular version of the new project will match the local CLI version.
Finally you should remove /my-folder/node_modules It is not needed anymore.
The ng
commands will use by default the local angular CLI (in this case inside /my-folder/node_modules). If there is no local CLI then the global CLI will be used.
Upvotes: 15
Reputation: 2774
There is no way to tell Angular CLI the specific Angular version you want to install. Instead, you can switch to another version of the Angular CLI and then create Angular project.
Run these commands first:
npm uninstall -g @angular/cli
npm install -g @angular/[email protected]
After it is installed, you can run:
ng new angular7
This will create your Angular 7 project with correct dependencies:
"@angular/animations": "~7.1.0",
"@angular/common": "~7.1.0",
"@angular/compiler": "~7.1.0",
"@angular/core": "~7.1.0",
"@angular/forms": "~7.1.0"
Upvotes: 32