typescript - Repository är inte ren. Vänligen committa eller stash alla ändringar innan du uppdaterar i Angular 8


Fel

Förvaret är inte rent. Vänligen gör en commit eller stasha ändringar innan uppdatering

när jag har uppdaterat från version 7 till Angular 8.

Angular-guide för uppgradering https://update.angular.io/#7.0:8.0

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

Förrådet är inte rent. Vänligen committa eller stasha alla ändringar innan du uppdaterar.

Uppdatera version

    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.

Jag har kontrollerat att git inte var installerat i projektet.

lösning som fungerade

   git commit 

Efter att ha googlat har jag att detta händer efter Angular 8.

Bugg

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

Svar #1

Det är en bugg i Angular 8

du kan komma runt det genom att använda:

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

Svar #2

Jag har försökt använda mention-kommandot för att uppgradera från Angular 8 till Angular 9, men fick fortfarande felet.

Sedan har jag försökt samma kommando med --force-flaggan och det fungerade för mig.

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

Svar #3

Jag har haft samma problem. Det är en vanlig bugg i Angular 8. Du kan enkelt använda smutsiga kommandon för att kringgå repo-kontrollen, till exempel (om du verkligen behöver kringgå detta, följ tvinga-kommandon)

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

men, jag gjorde inte det. Jag följde följande steg...

Först och främst, dubbelkolla om du har committat alla ändringar innan uppdateringen. Sedan, behåll en kopia av projektet på samma plats och committa även kopian till Git. Kör sedan följande kommando från den ursprungliga projektkatalogen.

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

efteråt kan du ta bort kopian. Detta fungerade för mig! tack!

Svar #4

Fungerade för mig

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

Relaterade artiklar