pnpm vs npm: wat er echt verschilt

pnpm vs npm

pnpm vs npm: opslag, lockfiles, workspaces, commando's | We.Inc

Hoe pnpm en npm packages opslaan, versies vastleggen en monorepo's draaien, een doorzoekbare vertaler van npm- naar pnpm-commando's, en de exacte stappen om een project veilig over te zetten.

npm kopieert elk package naar de node_modules van elk project en hoist ze plat. pnpm houdt één content-addressable store op schijf bij, maakt hard links naar bestanden daaruit, en zet alleen uw directe dependencies bovenaan in node_modules. Dat bespaart schijfruimte en voorkomt dat code packages importeert die ze nooit heeft gedeclareerd. De meeste commando's komen één op één overeen.

Belangrijkste verschillen

Beide tools lezen hetzelfde package.json en installeren uit dezelfde registry, dus de keuze gaat over indeling, snelheid van herhaalde installaties, tooling voor monorepo's en strengheid. Hieronder ziet u hoe elk packages opslaat, een vertaler voor de commando's die u al kent, en de stappen om een bestaand project van npm naar pnpm te verhuizen.

Veelgestelde vragen

Is pnpm sneller dan npm?

pnpm hergebruikt vaak bestanden die al in de store staan, wat helpt bij herhaalde installaties op dezelfde machine. De snelheid hangt af van de staat van de cache, het netwerk en de grootte van het project, dus meet beide op uw eigen project in plaats van te vertrouwen op een gepubliceerde benchmark.

Kan ik pnpm gebruiken met een project dat package-lock.json heeft?

Ja. Voer pnpm import uit om een pnpm-lock.yaml te bouwen uit package-lock.json, npm-shrinkwrap.json of yarn.lock, verwijder daarna de oude lockfile en node_modules en voer pnpm install uit.

Waarom vindt mijn app een module niet meer na de overstap naar pnpm?

Uw code, of een dependency, importeert een package dat niet in het eigen package.json staat. De platte indeling van npm verborg die fout. Voeg het ontbrekende package toe als dependency van wat het importeert.

Heeft pnpm Node.js nodig?

De installatiedocumentatie van pnpm beschrijft pnpm 12 als native executable die zelf geen Node.js nodig heeft om te draaien. Uw projectscripts hebben natuurlijk nog wel Node.js nodig.

Welke moet een beginner gebruiken?

npm, omdat het met Node.js wordt meegeleverd en bijna elke tutorial het gebruikt. Stap over op pnpm als u een monorepo draait, veel projecten op één machine hebt, of de strengere indeling van node_modules wilt.

Hoe elke tool packages opslaat

Workspaces en monorepo's

Een project overzetten van npm naar pnpm

Migratiestappen

pnpm import leest de lockfile van npm, zodat u de versies houdt die u al hebt getest. Draai uw tests voordat u commit.

Elke map die hier overeenkomt, wordt een workspace-package. Zet het bestand in de root van de repository.

Afhankelijk zijn van een lokaal package

workspace:* verwijst altijd naar de lokale kopie van ui in plaats van naar een versie uit de registry.

Vertaler van npm- naar pnpm-commando's

Typ een npm-commando

npm install -D vite

pnpm-equivalent

Geen directe overeenkomst. De meeste andere npm-commando's houden onder pnpm dezelfde naam.

npm-commando's en hun pnpm-equivalenten

Kopiëren

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap