How to generate Ionic 7 project with angular 16

I generated an ionic 7 project with angular, by default it used angular 17, i want to use Angular 16 so I changed the version in package.json , i delete node_modules and run npm install again, I got this error :
rayen@rayen-Modern:~/fit-mobile$ npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: fit-mobile@0.0.1
npm ERR! Found: @angular/animations@17.2.2
npm ERR! node_modules/@angular/animations
npm ERR! @angular/animations@“^16.2.0” from the root project
npm ERR! peerOptional @angular/animations@“17.2.2” from @angular/platform-browser@17.2.2
npm ERR! node_modules/@angular/platform-browser
npm ERR! @angular/platform-browser@“^16.2.0” from the root project
npm ERR! peer @angular/platform-browser@“17.2.2” from @angular/forms@17.2.2
npm ERR! node_modules/@angular/forms
npm ERR! @angular/forms@“^16.2.0” from the root project
npm ERR! 1 more (@ionic/angular)
npm ERR! 2 more (@angular/platform-browser-dynamic, @angular/router)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! @angular/animations@“^16.2.0” from the root project
npm ERR!
npm ERR! Conflicting peer dependency: @angular/core@16.2.12
npm ERR! node_modules/@angular/core
npm ERR! peer @angular/core@“16.2.12” from @angular/animations@16.2.12
npm ERR! node_modules/@angular/animations
npm ERR! @angular/animations@“^16.2.0” from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /home/rayen/.npm/_logs/2024-02-25T14_07_06_995Z-eresolve-report.txt

npm ERR! A complete log of this run can be found in: /home/rayen/.npm/_logs/2024-02-25T14_07_06_995Z-debug-0.log

this is my package json:
{
“name”: “fit-mobile”,
“version”: “0.0.1”,
“author”: “Ionic Framework”,
“homepage”: “https://ionicframework.com/”,
“scripts”: {
“ng”: “ng”,
“start”: “ng serve”,
“build”: “ng build”,
“watch”: “ng build --watch --configuration development”,
“test”: “ng test”,
“lint”: “ng lint”
},
“private”: true,
“dependencies”: {
@angular/animations”: “^16.2.0”,
@angular/cdk”: “^16.2.4”,
@angular/common”: “^16.2.0”,
@angular/compiler”: “^16.2.0”,
@angular/core”: “^16.2.0”,
@angular/forms”: “^16.2.0”,
@angular/platform-browser”: “^16.2.0”,
@angular/platform-browser-dynamic”: “^16.2.0”,
@angular/router”: “^16.2.0”,
@capacitor/app”: “5.0.7”,
@capacitor/core”: “5.7.0”,
@capacitor/haptics”: “5.0.7”,
@capacitor/keyboard”: “5.0.8”,
@capacitor/status-bar”: “5.0.7”,
@ionic/angular”: “^7.0.0”,
“ionicons”: “^7.0.0”,
“rxjs”: “~7.8.0”,
“tslib”: “^2.3.0”,
“zone.js”: “~0.13.0”
},
“devDependencies”: {
@angular-devkit/build-angular”: “^16.3.1”,
@angular-eslint/builder”: “16.3.1”,
@angular-eslint/eslint-plugin”: “16.3.1”,
@angular-eslint/eslint-plugin-template”: “16.3.1”,
@angular-eslint/schematics”: “16.3.1”,
@angular-eslint/template-parser”: “16.3.1”,
@angular/cli”: “~16.2.1”,
@angular/compiler-cli”: “^16.3.1”,
@capacitor/cli”: “5.7.0”,
@ionic/angular-toolkit”: “^9.0.0”,
@types/jasmine”: “~5.1.0”,
@typescript-eslint/eslint-plugin”: “^6.0.0”,
@typescript-eslint/parser”: “^6.0.0”,
“eslint”: “^7.26.0”,
“eslint-plugin-import”: “2.22.1”,
“eslint-plugin-jsdoc”: “30.7.6”,
“eslint-plugin-prefer-arrow”: “1.2.2”,
“jasmine-core”: “~5.1.0”,
“jasmine-spec-reporter”: “~5.0.0”,
“karma”: “~6.4.0”,
“karma-chrome-launcher”: “~3.2.0”,
“karma-coverage”: “~2.2.0”,
“karma-jasmine”: “~5.1.0”,
“karma-jasmine-html-reporter”: “~2.1.0”,
“typescript”: “~5.1.3”
},
“description”: “An Ionic project”
}