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-dirtyOdpověď č. 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
