ng eject not available at Angular 6.0.0
See original GitHub issueThis is currently an undocumented breaking change for those migrating from 5 to 6, ng eject
is temporarily disabled at v6.0.0.
Versions
Angular CLI: 6.0.0
Node: 9.11.1
OS: darwin x64
Angular: 6.0.0
... animations, cli, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.6.0
@angular-devkit/build-angular 0.6.0
@angular-devkit/build-optimizer 0.6.0
@angular-devkit/core 0.6.0
@angular-devkit/schematics 0.6.0
@ngtools/webpack 6.0.0
@schematics/angular 0.6.0
@schematics/update 0.6.0
rxjs 6.1.0
typescript 2.7.2
webpack 4.6.0
Repro steps
- Try running
ng eject
Observed behavior
Running ng eject
resulted in the following message:
The 'eject' command has been temporarily disabled, as it is not yet compatible with the new
angular.json format. The new configuration format provides further flexibility to modify the
configuration of your workspace without ejecting. Ejection will be re-enabled in a future
release of the CLI.
If you need to eject today, use CLI 1.7 to eject your project.
Reference: https://github.com/angular/angular-cli/blob/master/packages/angular/cli/commands/eject.ts
Desired behavior
I wasn’t aware of this issue until after I upgraded, note that I did read the release notes. Since ng eject
has been removed for now, I expected supporting documentation:
-
Provide information on this in the README as a breaking change. This would help to let folks know about this issue before they attempt to migrate.
-
Provide guidance in the wiki: https://github.com/angular/angular-cli/wiki.
Mention any other details that might be useful (optional)
Possibly related to another issue https://github.com/angular/angular-cli/issues/10593
Issue Analytics
- State:
- Created 5 years ago
- Reactions:88
- Comments:36 (3 by maintainers)
Yes, at this point Angular CLI is dangerously bad to rely on. If at some point some dependency breaks or you need some customization that angular CLI doesn’t support, then you are screwed. And CLI should help you do hard, repetitive, standardized work, not lock you in. That’s why I don’t recommend anybody, apart from quick demos, to use CLI in their projects.
Also, “Eject” feature is kind of nice, but I think it shows the fundamental flaw with Angular CLI - it’s either CLI or plain webpack. It doesn’t enhance existing webpack pipeline, but tries to replace it with it’s own high level construct, and that creates a lot of friction, lock-in, unnecessary compatibility problems etc, and in the end defeats it’s own purpose.
@meltedspark First of all thank you for your contribution. On the other hand I am totally disappointed on the silence about this breaking changes. I am not going to adopt this version of Angular for the time being. And I am not going to adopt the million-th piece of javascript in addition to the 67K file for an empty application. Again, thanks but all of this is terrible.