Npm: opdatering af dit projekt

Opdater selve npm

For at opdatere selve npm:

npm outdated

Vis pakker der er forældet, dvs. udkommet i nyere versioner:

Current
Den version der pt. er installeret

Wanted
Den version der bør installeres iht. reglerne (semver) i package.json

Latest
Den senest tilgængelige version

Opdater iht. semver

Hvis du blot vil opdatere iht. reglerne specificeret i package.json:

Opdater til nyeste versioner

Hvis det er nyt for dig at udvikle et projekt med Angular, er du måske lidt forsigtig med at opdatere til nyeste versioner. Især hvis nogen af pakkerne har en ny major version. Men jeg har nu gjort det flere gange uden nogen problemer. Kun een gang var der en fejl, og den kunne jeg nemt google mig til løsningen af. Det er i min optik helt klart bedst at benytte de nyeste version og sørge for jævnligt at opdatere. 

Hvis du ønsker at opdatere til nyeste version af alle pakker:

npm-check-updates

Dette værktøj opdaterer versionerne i package.json til de nyest tilgængelige. Herefter kan vi så bruge npm install til at installerer alle de nye versioner.

Hvis du ikke har npm-check-updates, kan du installerer den som følger:

… og herefter kører den:

eller den forkortede udgave:

Eksempel på output:

npm install

Nu kan vi installere de nye versioner:

Kort og godt

Nu kan du fremover opdatere pakkerne i dit projekt i een simpel arbejdsgang

eller blot:

Output fra kommandoen npm outdated burde nu være helt tom.

Byg dit projekt og tjek at alt virker som vanligt. Læs release notes på de pakker der er opdateret til ny major version.

Fejlhåndtering

Nedgradering af pakke

I mit Angular 6 projekt fik jeg denne fejl efter opdatering:

Det ovenstående meddelelse fortæller er, at min nuværende version af Angular kun understøtter version 2.7.2 til 2.9-* af Typescript. Og det viser sig da også at support for Typescript 3, først kommer i Angular 7.

Jeg skal derfor nedgradere Typescript. Det er meget simpelt… jeg installerer blot den version jeg ønsker, og --save parameteren sørger for at ændre versionen i package.json

Pakke med sårbarheder

Efter en opdatering fik jeg denne besked:

Kør en audit for at få mere information:

Løsningen skulle være at installere en nyere version af build-angular, men hvorfor havde jeg ikke den? Jeg havde jo lige opdateret det hele. Men npm update opdaterer kun iht. reglerne i package.json. Jeg havde ikke benyttet ncu som jeg plejer.