使用ng update从Angular 5升级到Angular 6遇问题,求解决方案
Fixing
ng update Issues When Upgrading from Angular 5 to 6 Hey there! Let's work through this upgrade problem together. Based on the most common hurdles developers face when moving from Angular 5 to 6, here's a step-by-step solution to get your ng update command working again:
Step 1: Upgrade Angular CLI to a Compatible Version
Angular 6 requires CLI v6.x, but Angular 5 uses the older angular-cli (not the scoped @angular/cli package). Let's fix that first:
- Uninstall the old global CLI:
npm uninstall -g angular-cli - Clear your npm cache to avoid leftover conflicts:
(Note: For npm 5+, you can usenpm cache clean --forcenpm cache verifyinstead ifclean --forcethrows errors) - Install the correct global CLI v6:
npm install -g @angular/cli@6 - Update the local CLI in your project:
npm install @angular/cli@6 --save-dev
Step 2: Clean Up Dependencies and Run Targeted Updates
Old dependencies can block the update process. Let's reset and upgrade core packages:
- Delete your
node_modulesfolder andpackage-lock.json(oryarn.lockif using Yarn) to eliminate conflicting cached dependencies. - Run the core Angular upgrade command, specifying the target version:
ng update @angular/core@6 - Angular 6 requires RxJS 6.x and TypeScript 2.7+. If you see errors related to these, install the compatible versions manually:
(Thenpm install rxjs@6 rxjs-compat@6 --save npm install typescript@2.7 --save-devrxjs-compatpackage helps keep old RxJS code working while you refactor to the v6 syntax)
Step 3: Migrate Configuration Files
Angular 6 replaced .angular-cli.json with angular.json. Let's auto-migrate this:
ng update @angular/cli@6 --from=1 --to=6 --migrate-only
This command will convert your old CLI config to the new format without updating other packages.
Step 4: Verify and Troubleshoot Remaining Issues
- Reinstall all dependencies:
npm install - Start your project to check if it runs:
ng serve - If you still see errors, look for third-party libraries in your
package.jsonthat might not support Angular 6. You'll need to upgrade those packages to versions explicitly marked as compatible with Angular 6 (check their npm pages or documentation for details).
内容的提问来源于stack exchange,提问作者Kunal Ingole




