Migracja z npm

, Author

Migracja z npm powinna być dość łatwym procesem dla większości użytkowników. Yarn przyjmuje ten sam format package.json co npm, i może zainstalować każdy pakiet z rejestru npm.

Jeśli chcesz wypróbować Yarn na istniejącym projekcie npm, po prostu spróbuj uruchomić:

yarn

To rozłoży twój folder node_modules używając algorytmu rozdzielczości Yarn’a, który jest kompatybilny z thenode.js module resolution algorithm.

Jeśli otrzymasz błąd, sprawdź istniejący problem lub zgłoś go na Yarn issue tracker.

Po uruchomieniu yarn lub yarn add <package>, Yarn wygeneruje plik yarn.lock w katalogu głównym twojego pakietu. Nie musisz czytać ani rozumieć tego pliku – po prostu sprawdź go w kontroli źródła. Kiedy inni ludzie zaczną używać Yarn zamiast npm, plik yarn.lock zapewni, że otrzymają dokładnie te same zależności, co ty.

W większości przypadków, uruchomienie yarn lub yarn add po raz pierwszy będzie po prostu działać. W niektórych przypadkach, informacje w pliku package.json nie są wystarczająco wyraźne, aby wyeliminować zależności, a deterministyczny sposób, w jaki Yarn wybiera zależności, doprowadzi do konfliktów zależności. Jest to szczególnie prawdopodobne w większych projektach, gdzie czasami npm install nie działa, a programiści często usuwają node_modules i przebudowują od zera. Jeśli tak się stanie, spróbuj użyć npm, aby wersje zależności były bardziej wyraźne, przed konwersją do Yarn.

Od Yarn 1.7.0, możesz zaimportować swój stan package-lock.json, wygenerowany przez npm do Yarn, używając yarn import.

Inni deweloperzy w projekcie mogą nadal używać npm, więc nie musisz nakłaniać wszystkich w projekcie do konwersji w tym samym czasie. Deweloperzy używający yarn otrzymają dokładnie taką samą konfigurację jak wszyscy inni, a deweloperzy używający npm mogą otrzymać nieco inne konfiguracje, co jest zamierzonym zachowaniem npm.

Później, jeśli zdecydujesz, że Yarn nie jest dla ciebie, możesz po prostu wrócić do używania npm bez wprowadzania żadnych szczególnych zmian. Możesz usunąć swój stary plik yarn.lock, jeśli nikt w projekcie nie używa już Yarn, ale nie jest to konieczne.

Jeśli używasz teraz pliku npm-shrinkwrap.json, bądź świadomy, że możesz skończyć z innym zestawem zależności. Yarn nie obsługuje plików npmshrinkwrap, ponieważ nie zawierają one wystarczająco dużo informacji, aby zasilić algorytm deterministyczny Yarn’a. Jeśli używasz pliku shrinkwrap, może być łatwiej przekonwertować wszystkich pracujących nad projektem do używania Yarn w tym samym czasie. Wystarczy usunąć istniejący plik npm-shrinkwrap.json i zameldować się w nowo utworzonym pliku yarn.lock.

Porównanie poleceńCLI

.

.

.

.
npm (v5) Yarn
npm install yarn add
(N/D) yarn add --flat
(N/D) yarn add --har
npm install --no-package-lock yarn add --no-lockfile
(N/A) yarn add --pure-lockfile
npm install --save yarn add
npm install --save-dev yarn add --dev
(N/A) yarn add --peer
npm install --save-optional yarn add --optional
npm update --global yarn global upgrade
npm rebuild yarn add --force
npm uninstall yarn remove
npm cache clean yarn cache clean
rm -rf node_modules && npm install yarn upgrade
npm version major yarn version --major
npm version minor yarn version --minor
npm version patch yarn version --patch

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.