În această scurtă postare, vă voi arăta cum să preveniți utilizarea npm sau fire, în funcție de nevoile tale. Să începem!

Editați .npmrc

Este posibil să nu aveți acest fișier în baza de coduri. Dacă acesta este cazul, creați acest fișier în folderul rădăcină al aplicației dvs.

Ne permite să specificăm configurațiile managerului de pachete și este utilizat de ambele npm și fire.

Ta .npmrc fișierul ar trebui să aibă engine-strict proprietate marcată ca true.

//.npmrc file

engine-strict = true

Această opțiune spune managerului de pachete să folosească versiunea motoarelor pe care le-am specificat în package.json fişier.

Editați package.json

În interiorul tău package.json fișier ar trebui să adăugați fișierul engines secțiune dacă nu o aveți în prezent.


//package.json
{ 
  ...
  "engines": {
    "npm": "please-use-yarn",
    "yarn": ">= 1.19.1"
  },
  ...
}

În codul de mai sus, package.json fișier folosește o versiune de yarn 1.19.1 sau mai mare.
Dar pentru npm specificăm o versiune care nu există.

În acest fel ne asigurăm că atunci când cineva încearcă să folosească npm in loc de yarn, vor primi o eroare care afișeazăplease-use-yarn‘.

Se execută instalarea npm

După ce ați făcut modificările de mai sus, încercați să rulați npm install.

Veți primi o eroare care vă împiedică să utilizați npm.


npm ERR! code ENOTSUP
npm ERR! notsup Unsupported engine for my-app@0.1.0: wanted: {"npm":"please-use-yarn","yarn":">= 1.19.1"} (current:
 {"node":"12.16.3","npm":"6.14.4"})
npm ERR! notsup Not compatible with your version of node/npm: my-app@0.1.0
npm ERR! notsup Not compatible with your version of node/npm: my-app@0.1.0
npm ERR! notsup Required: {"npm":"please-use-yarn","yarn":">= 1.19.1"}
npm ERR! notsup Actual:   {"npm":"6.14.4","node":"12.16.3"}

npm ERR! A complete log of this run can be found in:
npm ERR!     C:UsersYourUserAppDataRoamingnpm-cache_logs2020-05-21T10_21_04_676Z-debug.log

Acest lucru, desigur, se poate face invers dacă doriți să împiedicați utilizarea yarn.

Concluzie

Este destul de simplu și ușor să vă asigurați că trebuie utilizat un singur manager de pachete în cadrul proiectului dumneavoastră.

Acest lucru va reduce șansele de erori cauzate de dezvoltatorii care utilizează manageri de pachete diferiți și este o practică bună să standardizați regulile de codificare și gestionarea proiectului.

Poți să întinzi mâna și să mă întrebi orice Stare de nervozitate, Facebook si al meu site-ul web.