Vyhledávání na webu

typescript - Repozitář není čistý. Před aktualizací v Angular 8 prosím potvrďte nebo uložte všechny změny.


Chyba

Úložiště není čisté. Před aktualizací prosím potvrďte nebo odložte všechny změny.

když jsem aktualizoval z verze 7 na Angular 8.

Průvodce upgradem Angular https://update.angular.io/#7.0:8.0

  D:\app-test> ng update @angular/cli @angular/core
               npm cache verify

Repozitář není čistý. Před aktualizací prosím proveďte commit nebo uložte jakékoliv změny.

Aktualizovat verzi

    PS D:\app-test> ng update
                Using package manager: 'npm'
                Collecting installed dependencies...
                Found 58 dependencies.
                    We analyzed your package.json, there are some packages to update:

                      Name                               Version                  Command to update
                     --------------------------------------------------------------------------------
                      @angular/cdk                       7.2.2 -> 8.0.1           ng update @angular/cdk
                      @angular/core                      7.2.15 -> 8.0.1          ng update @angular/core
                      @angular/core                      7.2.2 -> 7.2.15          ng update @angular/core
                      @angular/material                  7.3.7 -> 8.0.1           ng update @angular/material
                      rxjs                               6.3.3 -> 6.5.2           ng update rxjs


                    There might be additional packages that are outdated.
                    Run "ng update --all" to try to update all at the same time.

                PS D:\app-test> ng update @angular/cdk
                Repository is not clean.  Please commit or stash any changes before updating.

Zkontroloval jsem, že Git nebyl v projektu nainstalován.

řešení, které fungovalo

   git commit 

Po vyhledávání na Googlu se mi toto děje po Angular 8.

Chyba

https://github.com/angular/angular-cli/issues/14600

Odpověď č. 1

Je to chyba v Angular 8

můžete to obejít použitím:

ng update @angular/cli @angular/core --allow-dirty

Odpověď č. 2

Zkoušel jsem použít příkaz mention pro upgrade z Angular 8 na Angular 9, ale stále jsem dostával chybu.

Pak jsem zkusil stejný příkaz s příznakem --force a fungovalo mi to.

ng update @angular/cli @angular/core --allow-dirty --force

Odpověď č. 3

Měl jsem stejný problém. Je to běžná chyba v Angular 8. Jednoduše můžete použít 'špinavé' příkazy k obejití kontroly repozitáře, například (pokud opravdu potřebujete tuto kontrolu obejít, použijte příkazy s force).

ng update @angular/cli @angular/core --allow-dirty or
ng update @angular/cli @angular/core --allow-dirty --force

ale to jsem neudělal. Postupoval jsem podle následujících kroků...

nejprve zkontrolujte, zda jste potvrdili všechny změny před aktualizací. Poté si zachovejte kopii projektu na stejném místě a také tuto kopii potvrďte do Gitu. Poté spusťte následující příkaz z adresáře původního projektu

ng update @angular/core@8 @angular/cli@8

Poté můžete kopii smazat. Mně to fungovalo! Děkuji!

Odpověď č. 4

Fungovalo to u mě

sudo npm update @angular/cli @angular/core --allow-dirty --legacy-peer-deps

Související články