Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Running `ng version` outside an Angular project has confusing output

Offen
#16,549 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
angular, typescript
Bereich
cli

Rechercherichtung

Führe die beiden ng version-Befehle aus dem Issue sowohl innerhalb als auch außerhalb von services/ng-frontend/ aus und verfolge den Einstiegspunkt des Angular CLI-Versionsbefehls. Die Änderung ist abgeschlossen, wenn die Ausgabe außerhalb eines Angular-Projekts eindeutig angibt, dass kein Projekt erkannt wurde, und globale Versionen nicht wie Projektversionen erscheinen lässt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

area: @angular/cli freq1: low severity1: confusing type: bug/fix

🐞 Bug report

Command
  • update
  • version
Is this a regression?

No

Description

I have a monorepo where I am adding an Angular project. As a result, it exists in a subdirectory. Since many tools (such as ng) expect the project to be the working directory, I often use the pattern (cd path/to/subproject/ && run some tool). The subshell means I'm returned back to my original directory.

This pattern does not play well with ng version and ng update. I was trying to update to version 9 prerelease and saw the following:

$ (cd services/ng-frontend/ && ng update @angular/cli @angular/core --next)
# Successful update...
$ ng version
     _                      _                 ____ _     ___                                            
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|                                           
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |                                            
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |                                            
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|                                           
                |___/                                                                                   
                                                                                                        
                                                                                                        
Angular CLI: 8.3.21                                                                                     
Node: 13.5.0                                                                                            
OS: linux x64                                                                                           
Angular:                                                                                                
...                                                                                                     
                                                                                                        
Package                      Version                                                                    
------------------------------------------------------                                                  
@angular-devkit/architect    0.803.21                                                                   
@angular-devkit/core         8.3.21
@angular-devkit/schematics   8.3.21
@schematics/angular          8.3.21
@schematics/update           0.803.21
rxjs                         6.4.0

This was confusing and made me think the update failed, however the update was actually fine. My mistake here was running ng version in the root of my monorepo, rather than the Angular project. After noticing this I tried:

$ (cd services/ng-frontend/ && ng version)
     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/
    

Angular CLI: 9.0.0-rc.7
Node: 13.5.0
OS: linux x64

Angular: 9.0.0-rc.7
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.900.0-rc.7
@angular-devkit/build-angular     0.900.0-rc.7
@angular-devkit/build-optimizer   0.900.0-rc.7
@angular-devkit/build-webpack     0.900.0-rc.7
@angular-devkit/core              9.0.0-rc.7
@angular-devkit/schematics        9.0.0-rc.7
@ngtools/webpack                  9.0.0-rc.7
@schematics/angular               9.0.0-rc.7
@schematics/update                0.900.0-rc.7
rxjs                              6.5.4
typescript                        3.6.4
webpack                           4.41.2

Which is what I expected post-update.

IMHO this dichotomy is confusing. When the user is in an Angular project, it lists versions of that project. When outside an Angular project, it lists the global versions and it is very easy to look at the wrong one.

I'm not sure what the ideal solution to this problem would be. There could be two different commands, such as an ng global-version and ng project-version, but this might add too much additional complexity to be worth it. Maybe the output could simply be updated to be more clear? Such as having some big red text saying "No Angular project detected at $PWD"?

Vorherrschende Sprache
TypeScript
Sterne
27k
Forks
11.8k
Ø Merge
17 Std. 25 Min.
Gemergte PRs (30 T.)
183

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus angular/angular-cli

Alle Issues in angular/angular-cli

Ähnliche Issues

Weitere Issues zu TypeScript

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.