Évekig az NPM csomagkezelőt használtam, azonban nemrég történt valami, ami miatt áttértem a Yarn használatára.
Sejtelmesen hangzik, de az ok nagyon egyszerű. A minap egy új Expo által kezelt ReactNative projektet készítettem. Telepítettem néhány alapvető csomagot, amit szívesen használok. A styled-components telepítése közben azonban hibát jelzett az NPM és nem települt a csomag.
Hosszasan kerestem megoldást, mígnem az egyik oldalon felkeltette érdeklődésem egy „Fraudi elszólás”. Mégpedig az, hogy az illető Yarn csomagkezelő használata közben nem tapasztalt ilyen hibajelenséget.
Akkor jöhet a Yarn
Nosza, kipróbáltam és tééényleg! Gond nélkül felmennek a csomagok. Ahogy tapasztaltam (de valaki javítson ki, ha tévedek), hogy olyan, mintha a Yarn valahogy megpróbálna kompatibilis csomagokat keresni.
A Yarn telepítéséhez a hivatalos doksiban is azt írják, hogy előtte érdemes feltenni az NPM-et a gépre és ezzel a paranccsal kell a Yarn-t a gépre rántani:
npm install --global yarn
Nos tehát én azóta a Yarn-t használom inkább, ha egy új ReactNative projektet indítok.
Most akkor Yarn vagy NPM?

Természetesen nem azért született meg ez a poszt, mert parázs vitát akartam kirobbantani az npm hívők és a yarn fanatikusok között. Szerintem olyan ez, mint hogy valaki az iPhone-t szereti, valaki pedig az Android telókat.
Tehát mindössze egy saját „esettanulmányt” tártam most ország-világ elé, amiben szerintem a Yarn most jobban bizonyult.
Amúgy meg „kinek a pap, kinek meg a papné”.
Források
Íme néhány link, ami erről a React 18-as kompatibilitási hibáról ír:
- https://github.com/styled-components/styled-components/issues/3738
- https://stackoverflow.com/questions/72089994/why-does-npm-not-work-with-installing-styled-components-why-does-xcode-build-fa