Migrando do npm
Migrar do npm é um processo bem fácil para a maioria dos usuários. Yarn pode usar o mesmo formato do package.json
que o npm, e pode instalar qualquer projeto do registro npm.
Se você quer testar Yarn em um projeto existente, apenas tente executar:
yarn
Isso irá criar sua pasta node_modules
usando o algoritmo de resolução do Yarn que é compatível com a resolução de algoritmo do node.js.
Se você receber um erro, por favor verifique se existe um problema relatado no rastreador de problemas do Yarn.
Quando você executar yarn
ou yarn add <package>
, o Yarn vai gerar o arquivo yarn.lock
na pasta raíz do seu pacote. Você não precisa ler ou compreender este arquivo - basta adicionar ele no seu sistema de controle de versão. Quando outras pessoas começarem a usar Yarn em vez do npm
, o arquivo yarn.lock
irá garantir que comecem precisamente com as mesmas dependências que você tem.
Na maioria dos casos, só executar yarn
ou yarn add
pela primeira vez vai simplesmente funcionar. Em alguns casos, as informações em um arquivo package.json
não são explícitas o suficiente para eliminar as dependências, e a forma determinista que Yarn escolhe dependências vai causar conflito de dependências. Isto é especialmente provável de acontecer em projetos maiores, onde às vezes npm install
não funciona e desenvolvedores estão frequentemente removendo node_modules
e reconstruindo do zero. Se isso acontecer, tente usar o npm
para deixar as versões das dependências mais explícitas, antes de converter para Yarn.
Outros desenvolvedores do projeto podem continuar usando npm
, assim você não precisa ter todo mundo no projeto convertendo ao mesmo tempo. Os desenvolvedores usando o yarn
terão exatamente a mesma configuração uns que os outros, e os desenvolvedores usando npm
podem obter configurações ligeiramente diferentes, que é o comportamento esperado do npm
.
Mais tarde, se você decidir que o Yarn não é para você, pode simplismente voltar a usar o npm
sem fazer nenhuma alteração específica. Você pode excluir seu antigo arquivo yarn.lock
se ninguém mais no projeto usa Yarn, mas não é necessário.
Se você estiver usando um arquivo npm-shrinkwrap.json
no momento, esteja ciente que você pode terminar com um conjunto diferente de dependências. Yarn não suporta arquivos npm shrinkwrap já que eles não têm informação suficiente neles para o algoritmo mais determinístico do Yarn. Se você estiver usando um arquivo shrinkwrap pode ser mais fácil converter todos os que trabalham no projeto em usar o Yarn ao mesmo tempo. Basta remover o arquivo existente npm-shrinkwrap.json
e de check-in no recém-criado arquivo yarn.lock
.
Comparação de comandos CLI
npm | Yarn |
---|---|
npm install |
yarn install |
(N/A) | yarn install --flat |
(N/A) | yarn install --har |
(N/A) | yarn install --no-lockfile |
(N/A) | yarn install --pure-lockfile |
npm install [package] |
(N/A) |
npm install --save [package] |
yarn add [package] |
npm install --save-dev [package] |
yarn add [package] [--dev/-D] |
(N/A) | yarn add [package] [--peer/-P] |
npm install --save-optional [package] |
yarn add [package] [--optional/-O] |
npm install --save-exact [package] |
yarn add [package] [--exact/-E] |
(N/A) | yarn add [package] [--tilde/-T] |
npm install --global [package] |
yarn global add [package] |
npm update --global |
yarn global upgrade |
npm rebuild |
yarn install --force |
npm uninstall [package] |
(N/A) |
npm uninstall --save [package] |
yarn remove [package] |
npm uninstall --save-dev [package] |
yarn remove [package] |
npm uninstall --save-optional [package] |
yarn remove [package] |
npm cache clean |
yarn cache clean [package] |
rm -rf node_modules && npm install |
yarn upgrade |