Teknologian jakaminen

Paketinhallinnat - npm, lanka, cnpm, pnpm vertailu

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. npm (solmupakettien hallinta)

1.1 Paikallinen asennus

Käytä komentoa: npm install paketin nimi tai npm i paketin nimi
Paikallisesti asennetut paketit näkyvät node_module-hakemistossa nykyisen hakemiston alla
Jos paikallisesti asennetussa paketissa on CLI, npm sijoittaa CLI-komentosarjansa alle node_modules/.bin ja käyttää npx-komentoa sen kutsumiseen.

1.2 Globaali asennus

Globaalisti asennetut paketit sijoitetaan erityiseen globaaliin hakemistoon.
Käytä komentoa npm install --global paketin nimi tai npm i -g paketin nimi.
Globaalisti asennettu paketti ei ole saatavilla kaikille projekteille, se tarjoaa vain globaaleja CLI-työkaluja. Useimmissa tapauksissa pakettia ei tarvitse asentaa maailmanlaajuisesti.

1.3 Asennuskomento

Riippuu tuotantoympäristöstä
npm i paketin nimi
npm i --tallenna paketin nimi
npm i -S -paketin nimi
Asenna riippuvuudet kehitysympäristöön
npm i --save-dev paketin nimi
npm i -D -paketin nimi

1.4 Käytettäessä nodejs-komentoa moduulin tuomiseen, jos moduulin polku ei ala merkillä ./ tai.../, node luulee, että tuotu moduuli tulee node_modules-hakemistosta.
1.5 npm-skripti

Määritä yleisesti käytetyt CLI-komennot package.json-tiedoston komentosarjakenttään ja käytä komentosarjan suorittamiseen npm run script -nimeä. npx voidaan jättää pois skriptistä.

2. Aiemmat ongelmat npm:n kanssa:

  • Riippuvuushakemistot ovat syvästi sisäkkäisiä: Aiemmin npm-riippuvuudet olivat sisäkkäisiä, eikä Windows-järjestelmä voinut tukea liian syvällisiä hakemistoja.
  • Hidas latausnopeus: Syvistä sisäkkäisistä tasoista johtuen pakettien lataukset voivat olla vain sarjapaketteja, jotka ladataan toistuvasti.
  • Konsolitulostus on monimutkainen: monien paketin yksityiskohtien tulostaminen
  • Projektin siirtoongelma: Aiemmin oli olemassa vain package.json-määritystiedosto, mutta ei package-lock.json-tiedostoa.

3. Langan syntyminen, koska sillä on seuraavat edut:

  • Käytä tasaista hakemistorakennetta
  • rinnakkaislataus
  • Käytä paikallista välimuistia
  • Virtaviivaista konsolin lähtötiedot ja tulosta vain avaintiedot
  • Käytä lanka-lukkotiedostoa tallentaaksesi tarkat riippuvuudet

4. Langan vaikutuksesta npm6 hyödynsi langan edistyneitä konsepteja ja teki seuraavat optimoinnit:

  • Hakemiston litistys
  • rinnakkaislataus
  • paikallinen välimuisti
  • Tallenna tarkat riippuvuudet tiedostolla package-lock.json
  • Lisätty suuri määrä komentoaliaksia
  • Sisäänrakennettu npx, voit käynnistää paikalliset CLI-työkalut
  • Yksinkertaistaa huomattavasti konsolitulostusta

5. cnpm

npm:n rekisteripalvelin on ulkomailla, mikä voi aiheuttaa hitaita latauksia tai epäonnistumisia. Aiemmin npm ei toimittanut rekisterin muokkaamista, joka on Taobao npm -peili. Muut käyttötarkoitukset ovat periaatteessa samat kuin npm.

6. pnpm

  • Kuten npm ja yarn, välimuistia käytetään edelleen asennettujen pakettien tallentamiseen.Käytä pnpm-lock.yaml tallentaaksesi yksityiskohtaiset riippuvuusversiot
  • Toisin kuin lanka ja npm, pnpm käyttää symbolisia linkkejä ja kovia linkkejä sijoittaakseen riippuvuuksia, välttäen tiedostojen kopioimista, parantaa asennuksen tehokkuutta ja vähentää huomattavasti levytilan käyttöä.
  • Symbolisten linkkien ja kovien linkkien käytön ansiosta pnpm voi välttää liian pitkien polkujen ongelman Windows-järjestelmissä, joten se käyttää puuriippuvuuksia. Puuriippuvuuksien vuoksi projektit voivat käyttää vain suoria riippuvuuksia, ei epäsuoria riippuvuuksia.

7. pnpm-periaate:

  • Tiedoston ydin: Tiedosto on itse asiassa osoitin, joka osoittaa ulkoiseen tallennusosoitteeseen (kiintolevy, USB-muistitikku). Tiedoston poistaminen itse asiassa poistaa osoittimen, joten se on erittäin nopea.
  • Kopio tiedostosta: Kopioi tiedostoosoittimen osoittama sisältö ja luo sitten uusi osoitin, joka osoittaa uuteen sisältöön.
  • Kiinteä linkki: Kopioi tiedosto A-osoitin toiseen tiedostoon B-osoitin Tiedosto B on kiinteä linkki tiedostoon A.
  • Symbolinen linkki (pehmeä linkki): Luo symbolinen linkki B tiedostolle tai kansiolle A ja B osoittaa A:lle.
  • Pikakuvake: Samoin kuin symbolinen linkki, se on Windowsin alkuaikoina tukema linkkimenetelmä. Se ei ole vain osoitin, vaan sisältää myös erilaisia ​​tietoja, kuten käyttöoikeuksia, yhteensopivuutta, käynnistystapaa jne. Pikakuvakkeet ovat ainutlaatuisia Windows-järjestelmissä, eikä niitä käytetä eri alustoilla.

Ero symbolisten linkkien ja kovien linkkien välillä

  • Kovat linkit voivat linkittää vain tiedostoja, kun taas symboliset linkit voivat linkittää tiedostoja ja hakemistoja.
  • Kun yhteys on valmis, kiinteä linkki liitetään vain tiedoston sisältöön, eikä sillä ole mitään tekemistä edellisen linkin kanssa. Symboliset linkit liittyvät aina aiemmin linkitettyyn tiedostoon, eivätkä ne liity suoraan sisältötiedostoon.