Skip to content

ng <command> --help does not work #16241

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
KissBalazs opened this issue Nov 20, 2019 · 7 comments · Fixed by #22778
Closed

ng <command> --help does not work #16241

KissBalazs opened this issue Nov 20, 2019 · 7 comments · Fixed by #22778
Labels
area: @angular/cli freq1: low Only reported by a handful of users who observe it rarely severity3: broken type: bug/fix
Milestone

Comments

@KissBalazs
Copy link

🐞 bug report

Affected Package

The issue is caused by package @angular/cli

Is this a regression?

not sure.

Description

Angular cli commands seems to be working, but the --help flag does not work in them in angular 8. It is suggested in the documentation in multiple places that it should.

🔬 Minimal Reproduction

(npm uninstall -g @angular/cli)
npm install -g @angular/cli@latest
ng generate --help

🔥 Exception or Error

forest@forest:~$ ng generate --help

An unhandled exception occurred: Unable to locate a workspace file for workspace path.
See "/tmp/ng-s4wanw/angular-errors.log" for further details.

forest@forest:~$ cat /tmp/ng-MYDOue/angular-errors.log

[error] Error: Unable to locate a workspace file for workspace path.
    at Object.readWorkspace (/home/forest/.nvm/versions/node/v12.3.1/lib/node_modules/@angular/cli/node_modules/@angular-devkit/core/src/workspace/core.js:74:19)
    at async GenerateCommand._loadWorkspace (/home/forest/.nvm/versions/node/v12.3.1/lib/node_modules/@angular/cli/models/schematic-command.js:442:35)
    at async GenerateCommand.initialize (/home/forest/.nvm/versions/node/v12.3.1/lib/node_modules/@angular/cli/models/schematic-command.js:40:9)
    at async GenerateCommand.initialize (/home/forest/.nvm/versions/node/v12.3.1/lib/node_modules/@angular/cli/commands/generate-impl.js:12:9)
    at async GenerateCommand.validateAndRun (/home/forest/.nvm/versions/node/v12.3.1/lib/node_modules/@angular/cli/models/command.js:124:9)
    at async Object.runCommand (/home/forest/.nvm/versions/node/v12.3.1/lib/node_modules/@angular/cli/models/command-runner.js:186:24)
    at async default_1 (/home/forest/.nvm/versions/node/v12.3.1/lib/node_modules/@angular/cli/lib/cli/index.js:54:31)forest@forest:~$ ^C

🌍 Your Environment

Angular Version:


Angular CLI: 8.3.19
Node: 12.3.1
OS: linux x64
Angular: 
... 

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.803.19
@angular-devkit/core         8.3.19
@angular-devkit/schematics   8.3.19
@schematics/angular          8.3.19
@schematics/update           0.803.19
rxjs                         6.4.0

Anything else relevant?

@santoshyadavdev
Copy link
Contributor

Are you trying to run this from inside a Angular project? Or globally , to use ng generate --help you need to be inside an Angular workspace. Let me know if that works, we can update the docs if needed.

@KissBalazs
Copy link
Author

Yep, that was the problem. Outside of an angular project, ng new --help works, ng generate --help does not. Inside they both works.

Although this might be a source of misunderstanding. Using the --help flag produces a different error than using the command itself:
forest@forest:~/projects$ ng generate
The generate command requires to be run in an Angular project, but a project definition could not be found.
forest@forest:~/projects$ ng generate --help
An unhandled exception occurred: Unable to locate a workspace file for workspace path. See "/tmp/ng-QM4fsM/angular-errors.log" for further details.

Best solution could be updating the error message a bit maybe. Thank you for the help!

@santoshyadavdev
Copy link
Contributor

santoshyadavdev commented Nov 20, 2019

That's a good suggestion @alan-agius4 what's your thought on this?

@alan-agius4 alan-agius4 transferred this issue from angular/angular Nov 20, 2019
@alan-agius4
Copy link
Collaborator

We should fix this 😊

@imrvasishtha
Copy link

Please try to update the docs also because it can create a problem for person like me who is new in angular. Thanks. cli#basic-workflow

@kuncevic
Copy link

Oh I believe it is really confused people who just new to angular cli and might be a kinda blocker for some, so this ng command --help should just work

Here is the list of commands that does not work outside the angular project #19057:

ng build --help
ng serve --help
ng test --help
ng e2e --help
ng generate --help
ng add --help
ng lint --help
ng xi18n --help
ng run --help

alan-agius4 added a commit that referenced this issue Mar 9, 2022
With this change we refactor the Angular CLI and replace the underlying args parser and command builder. We choose to use Yargs as our parser and command builder of choice. The main advantages of Yargs over other command builders are;

- Highly configurable.
- We already use it in other packages such as the compiler-cli/dev-infra etc..
- Commands and options can be added during runtime. This is a requirement that is needed to support architect and schematics commands.
- Outstanding documentation.
- The possibility to parse args without parser configuration (Free form).
- Commands are built lazily based on the arguments passed.

BREAKING CHANGE:

Several changes in the Angular CLI commands and arguments handling.

- `ng help` has been removed in favour of the `—-help` option.
- `ng —-version` has been removed in favour of `ng version` and `ng v`.
- Deprecated camel cased arguments are no longer supported. Ex. using `—-sourceMap` instead of `—-source-map` will result in an error.
- `ng update`, `—-migrate-only` option no longer accepts a string of migration name, instead use `—-migrate-only -—name <migration-name>`.
- `—-help json` help has been removed.

Closes #20976, closes #16614 and closes #16241
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Apr 9, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area: @angular/cli freq1: low Only reported by a handful of users who observe it rarely severity3: broken type: bug/fix
Projects
None yet
6 participants