Migrating from npm deve ser um processo bastante fácil para a maioria dos usuários. O fio pode consumir o mesmo formato package.json
do npm, e pode instalar qualquer pacote do registro do npm.
Se você quiser tentar o fio no seu projeto npm existente, apenas tente executar:
yarn
Isto irá colocar sua pasta node_modules
usando o algoritmo de resolução do fio que é compatível com o Thenode.js algoritmo de resolução do módulo.
Se você obtiver um erro, por favor verifique um problema existente ou relate-o para o rastreador de problemas Yarn.
Quando você executar ou yarn
ou yarn add <package>
, Yarn irá gerar um arquivo yarn.lock
dentro do diretório raiz do seu pacote. Você não precisa ler ou entender este arquivo – apenas verificar no controle do código-fonte. Quando outras pessoas começarem a usar o Fio em vez de npm
, o ficheiro yarn.lock
irá garantir que eles obtêm precisamente as mesmas dependências que você tem.
Na maioria dos casos, correr yarn
ou yarn add
pela primeira vez irá apenas funcionar. Em alguns casos, a informação em um arquivo package.json
não é explícita o suficiente para eliminar dependências, e a forma determinística com que o Yarn escolhe dependências se deparará com conflitos de dependência. Isto é especialmente provável que aconteça em projetos maiores onde às vezes npm install
não funciona e os desenvolvedores estão freqüentemente removendo node_modules
e reconstruindo do zero. Se isso acontecer, tente usar npm
para tornar as versões de dependências mais explícitas, antes de converter para Fio.
As de Fio 1.7.0, você pode importar o estado do seu package-lock.json, gerado por npm
para Fio, usando yarn import
.
Outros desenvolvedores no projeto podem continuar usando npm
, assim você não precisa fazer com que todos no seu projeto convertam ao mesmo tempo. Os desenvolvedores usando yarn
obterão exatamente a mesma configuração uns dos outros, e os desenvolvedores usando npm
podem obter configurações ligeiramente diferentes, que é o comportamento pretendido de npm
.
Later, se você decidir que o Fio não é para você, você pode simplesmente voltar a usar npm
sem fazer nenhuma alteração em particular. Você pode apagar seu antigo arquivo yarn.lock
se ninguém no projeto estiver usando Fios, mas não é necessário.
Se você estiver usando um arquivo npm-shrinkwrap.json
agora mesmo, esteja ciente que você pode acabar com um conjunto diferente de dependências. Yarn não suporta arquivos npmshrinkwrap, pois eles não têm informações suficientes para alimentar o algoritmo de determinação do Yarn’smore. Se você estiver usando um arquivo shrinkwrap pode ser mais fácil converter todos que trabalham no projeto para usar o Yarn ao mesmo tempo. Simplesmente remova o seu ficheiro npm-shrinkwrap.json
existente e verifique no novo ficheiro yarn.lock
criado.
Comparação de comandos CLI
npm (v5) | Yarn |
---|---|
npm install |
yarn add |
(N/A) | yarn add --flat |
(N/A) | 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 install --save-exact |
yarn add --exact |
(N/A) | yarn add --tilde > |
npm install --global |
yarn global add |
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 |