Kako prisilno koristiti pređu ili NPM

U ovom kratkom postu pokazat ću vam kako spriječiti upotrebu npm-a ili pređe, ovisno o vašim potrebama. Započnimo!

Uredi .npmrc

Ovu datoteku možda nemate u svojoj bazi kodova. Ako je to slučaj, stvorite ovu datoteku u korijenskoj mapi aplikacije.

Omogućuje nam da odredimo konfiguracije upravitelja paketa, a koriste ga i npm i pređa .

Vaš .npmrcdatoteka trebala imati engine-strictsvojstvo označeno kao true.

//.npmrc file engine-strict = true

Ova opcija govori upravitelju paketa da koristi verziju motora koje smo naveli u package.jsondatoteci.

Uredi paket.json

Unutar package.jsondatoteke dodajte enginesodjeljak ako ga trenutno nemate.

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

U gornjem kodu package.jsondatoteka koristi verziju yarn1.19.1 ili noviju.

Ali npmmi određujemo verziju koja ne postoji.

Na ovaj način osiguravamo da će netko kada pokuša koristiti npmumjesto yarn, primiti pogrešku koja izlazi ' please-use-yarn'.

Pokretanje npm install

Nakon što napravite gore navedene promjene, pokušajte pokrenuti npm install.

Primit ćete pogrešku koja vas sprječava u korištenju npm.

 npm ERR! code ENOTSUP npm ERR! notsup Unsupported engine for [email protected]: 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: [email protected] npm ERR! notsup Not compatible with your version of node/npm: [email protected] 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:\Users\YourUser\AppData\Roaming\npm-cache\_logs\2020-05-21T10_21_04_676Z-debug.log 

To se, naravno, može učiniti i obrnuto ako želite spriječiti upotrebu yarn.

Zaključak

Prilično je jednostavno i lako osigurati da se unutar vašeg projekta mora koristiti samo jedan upravitelj paketa.

To će smanjiti mogućnost pogrešaka uzrokovanih programerima koji koriste različite upravitelje paketa, a dobra je praksa standardizirati pravila kodiranja i upravljanje projektom.

Možete me kontaktirati i pitati bilo što na Twitteru, Facebooku i mojoj web stranici.