Kuinka pakottaa käyttämään lankaa tai NPM: ää

Tässä lyhyessä viestissä aion näyttää, kuinka estää npm: n tai langan käyttö tarpeidesi mukaan. Aloitetaan!

Muokkaa .npmrc

Sinulla ei ehkä ole tätä tiedostoa kooditietokannassasi. Jos näin on, luo tämä tiedosto sovelluksesi juurikansioon.

Sen avulla voimme määrittää pakettienhallinnan määritykset ja sitä käyttävät sekä npm että lanka .

Omat .npmrcTiedoston pitäisi olla engine-strictomaisuutta merkitty true.

//.npmrc file engine-strict = true

Tämä vaihtoehto kehottaa paketinhallintaa käyttämään package.jsontiedostossa määritettyä moottoriversiota .

Muokkaa package.json

package.jsonLisää enginesosioon tiedostosi sisällä, jos sinulla ei vielä ole sitä.

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

Yllä olevassa koodissa package.jsontiedosto käyttää versiota yarn1.19.1 tai uudempaa.

Mutta npmme määrittelemme version, jota ei ole olemassa.

Näin varmistamme, että kun joku yrittää käyttää npmsen sijaan yarn, hän saa virheen, joka tuottaa ' please-use-yarn'.

Käynnissä npm-asennus

Kun olet tehnyt yllä olevat muutokset, yritä suorittaa npm install.

Saat virheilmoituksen, joka estää sinua käyttämästä 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 

Tämä voidaan tietysti tehdä päinvastoin, jos haluat estää yarn.

Johtopäätös

On melko suoraviivaista ja helppoa varmistaa, että projektissasi täytyy käyttää vain yhtä paketinhallintaohjelmaa.

Tämä vähentää eri pakettien hallintaa käyttävien kehittäjien aiheuttamien virheiden mahdollisuutta, ja on hyvä käytäntö standardoida projektin koodaussäännöt ja hallinta.

Voit ottaa yhteyttä ja kysyä minulta mitä tahansa Twitterissä, Facebookissa ja verkkosivustollani.