<p>A autoatualização do yarn deve ser atualizada usando o mesmo método de instalação usado originalmente</p>

Criado em 17 out. 2016  ·  64Comentários  ·  Fonte: yarnpkg/yarn

Você deseja solicitar um _feature_ ou denunciar um _bug_?
Característica

Qual é o comportamento atual?
yarn self-update sempre baixa um tarball.

Qual é o comportamento esperado?
yarn self-update deve atualizar usando o mesmo método de instalação usado pelo usuário. Por exemplo, se o Yarn foi instalado por meio do pacote Debian / Ubuntu, yarn self-update deve executar sudo apt-get update && sudo apt-get install yarn . No Windows, quando instalado por meio do instalador, ele deve baixar https://yarnpkg.com/latest.msi e executá-lo.

Isso está intimamente relacionado ao # 1138 ("adicionar verificação de versão do yarn na inicialização") em que ambos os problemas precisam de alguma forma de determinar o método de instalação usado pelo usuário.

cat-feature good first issue help wanted high-priority triaged

Comentários muito úteis

@kristojorg Eu tive o mesmo problema. Eu (acho que) resolvi fazendo um monte de coisas:

  1. Removendo binários de fios manualmente:
# remove binaries
rm -f /usr/local/bin/yarnpkg
rm -f /usr/local/bin/yarn

# remove cache
rm -rf ${HOME}/.yarn
  1. Se você tiver o seguinte em seu .zshrc ou .bash_profile , remova-o:
export PATH="$PATH:`yarn global bin`"
  1. Instale via curl :
curl -o- -L https://yarnpkg.com/install.sh | bash
  1. Certifique-se de que haja a seguinte linha em seu .zshrc ou .bash_profile :
export PATH="$HOME/.yarn/bin:$PATH"

Agora, se você tentar executar yarn -v , deverá obter a versão estável mais recente.

Todos 64 comentários

Deseja encerrar isso, pois self-update foi removido com https://github.com/yarnpkg/yarn/pull/1429?

Não, o plano é restabelecer uma versão de autoatualização que usa o direito
método de instalação.

Enviado do meu telefone.

Em 7 de dezembro de 2016 2:04, "Scott Busche" [email protected] escreveu:

Deseja fechar isto porque a autoatualização foi removida com # 1429
https://github.com/yarnpkg/yarn/pull/1429 ?

-
Você está recebendo isso porque é o autor do tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/yarnpkg/yarn/issues/1139#issuecomment-265172525 ou mudo
o segmento
https://github.com/notifications/unsubscribe-auth/AAFnHdMyShESFRQIiqAJhZEWI_HgajUoks5rFXmNgaJpZM4KYOBW
.

https://yarnpkg.com/en/docs/cli/self-update provavelmente deve ser removido / atualizado

Se eu estiver no 0.18.1, como faço para atualizar para a próxima versão?

@ meta-meta Atualmente, você precisa atualizar manualmente.

que tal yarn global add yarn ?

Sou um grande fã do Yarn, mas estou um pouco preocupado em como a autoatualização foi removida sem aviso de depreciação, nenhuma menção nas notas de lançamento e que foi agrupado com um PR que não está relacionado e onde não havia discussão sobre a remoção da atualização automática.

Eu entendo que é o começo do Yarn e que mudanças na API são esperadas, mas seria bom se houvesse um processo para remover a funcionalidade principal.

(desculpe se este não é o lugar certo para discutir, mas este PR é para onde o link dos documentos )

que tal fio global adicionar fio?

Instalar o Yarn através do Yarn não é um caso de uso compatível no momento e pode causar vários problemas. Não recomendamos no momento.

@dancoates - O comando de

Como posso atualizar manualmente o yarn? Não tenho certeza sobre esse, eu usei brew no meu mac para fazê-lo funcionar, mas não tenho certeza do que "manual" significa aqui ... quaisquer dicas serão apreciadas.

Atualize-o da mesma forma que atualiza qualquer outro aplicativo instalado usando o Homebrew.
Presumo que tenha um comando "atualizar".

Enviado do meu telefone.

Em 26 de janeiro de 2017, às 9h11, "Cato" [email protected] escreveu:

Como posso atualizar manualmente o yarn? Não tenho certeza sobre esse, eu usei cerveja no meu
mac para fazê-lo funcionar, mas não tenho certeza do que "manual" significa aqui ... alguma dica
estimado.

-
Você está recebendo isso porque é o autor do tópico.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/yarnpkg/yarn/issues/1139#issuecomment-275447861 ou mudo
o segmento
https://github.com/notifications/unsubscribe-auth/AAFnHSm1RTv0bZMHtPxkWkS01hPl5Rm3ks5rWNPJgaJpZM4KYOBW
.

@CatinhoCR Inicialmente instalei o yarn usando npm, então fiz npm uninstall -g yarn e depois brew install yarn - E agora tenho a versão mais recente. Também funcionaria usando o comando brew upgrade como @ Daniel15 mencionou.

npm update yarn -g

Você pode instalar o homebrew da largura do fio. Então brew uninstall yarn . E não é uma boa escolha instalar o fio com homebrew quando você precisa atravessar a parede. Sempre que você precisa fazer uma atualização de cerveja.

Infelizmente, npm update yarn -g nem sempre funciona. Por exemplo, ele não foi atualizado de v.0.20.3 para v.0.21.3 em minha máquina OS / X. Mas o seguinte funcionou:

npm uninstall yarn -g
npm install yarn -g

O npm às vezes tem problemas estranhos, por isso não recomendamos usá-lo para instalar o Yarn.

@wardbell Simplesmente executar a instalação funciona também:

npm install yarn -g

Não há necessidade de desinstalar primeiro.

Tentei atualizar manualmente através do homebrew, mas quando digito yarn --version ainda está mostrando 19,0. Agora estou tentando desinstalar, mas aparentemente também não consigo fazer isso ... yarn --version ainda mostra 19,0 após brew uninstall yarn . Também tentei npm uninstall yarn sem sorte.

Você pode me dizer o que eu preciso deletar para ter o yarn completamente desinstalado para que eu possa reinstalar com a versão mais recente?

@kristojorg Eu tive o mesmo problema. Eu (acho que) resolvi fazendo um monte de coisas:

  1. Removendo binários de fios manualmente:
# remove binaries
rm -f /usr/local/bin/yarnpkg
rm -f /usr/local/bin/yarn

# remove cache
rm -rf ${HOME}/.yarn
  1. Se você tiver o seguinte em seu .zshrc ou .bash_profile , remova-o:
export PATH="$PATH:`yarn global bin`"
  1. Instale via curl :
curl -o- -L https://yarnpkg.com/install.sh | bash
  1. Certifique-se de que haja a seguinte linha em seu .zshrc ou .bash_profile :
export PATH="$HOME/.yarn/bin:$PATH"

Agora, se você tentar executar yarn -v , deverá obter a versão estável mais recente.

Obrigado!

@kristojorg Você também pode alterar 2. para ter ${HOME} vez de /Users/adrianmcli

* Basta adicionar isso para o benefício dos usuários do Microsoft Windows.
Se você instalou originalmente o Yarn usando Chocolatey (o gerenciador de pacotes do Windows), para atualizá-lo para a versão mais recente, basta fazer o seguinte:

  1. Abra o shell de comando do Windows (cmd.exe) como administrador.
  2. Execute o comando: c:> choco upgrade yarn
  3. Execute c:> yarn --version e confirme se ele foi atualizado para a versão mais recente. Voila!

No Ubuntu 16.04, o yarn é atualizado automaticamente por meio de Software & Updates.

Tive um problema semelhante, e o problema não era que o npm não estava atualizando o yarn (estava), mas que aparentemente havia dois links em meu ambiente:

Um para /usr/bin/yarn que estava apontando para /usr/lib/node_modules/yarn/bin/yarn.js (esta era a versão mais recente instalada pelo npm)

E um para /usr/local/bin/yarn que estava apontando para /usr/local/lib/node_modules/yarn/bin/yarn.js (esta era uma versão antiga)

Não sei de onde vinha o /usr/local/bin/yarn link , mas era o que estava sendo usado pelo meu shell quando eu acabei de digitar yarn . Removi o link e agora está tudo bem.

@MDM Como você removeu o link /usr/local/bin/yarn se não sabia de onde ele estava vindo?

@skube sudo unlink /usr/local/bin/yarn

@MDM Obrigado. Então eu fiz unlink /usr/local/bin/yarn que pareceu funcionar.
e então, para atualizar para o mais recente, executou npm i -g yarn que parecia apenas vincular novamente

❯ npm i -g yarn
/usr/local/bin/yarnpkg -> /usr/local/lib/node_modules/yarn/bin/yarn.js
/usr/local/bin/yarn -> /usr/local/lib/node_modules/yarn/bin/yarn.js

E ainda não estou atualizado para o 0.24.6 mais recente

❯ yarn -v
yarn install v0.24.5
[1/4] 🔍  Resolving packages...
success Already up-to-date.
✨  Done in 1.51s.

Curiosamente, quando eu faço sudo npm install --global yarn , os links / usr / local / bin não estão sendo criados, então há algumas diferenças em nossos ambientes que não consigo explicar. Quanto a 0.24.5 ser a versão disponível, isso parece ser um problema de npm - 0.24.6 não está sendo instalado, por algum motivo.

Posso confirmar que 0.24.6 não está sendo instalado. Eu tenho 0.24.5 e quando executo npm outdated -g , o npm não reconhece que há uma atualização disponível. Não sei se isso é um problema de npm ou um problema com o pacote de fios.

Estou usando o nvm para gerenciar minhas instalações de nó, então não tenho escolha. Preciso usar o npm para instalar o yarn.

Curiosamente, em outra máquina eu fui capaz de ...

warning Your current version of Yarn is out of date. The latest version is "0.24.6" while you're on "0.21.3".
info To upgrade, run the following command:
$ curl -o- -L https://yarnpkg.com/install.sh | bash

Então eu fiz

❯ curl -o- -L https://yarnpkg.com/install.sh | bash
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6746    0  6746    0     0  22490      0 --:--:-- --:--:-- --:--:-- 22561
Installing Yarn!
/usr/local/bin/yarn
> Downloading tarball...

> We've added the following to your .zshrc
> If this isn't the profile of your current shell then please add the following to your correct profile:

export PATH="$HOME/.yarn/bin:$PATH"

> Successfully installed Yarn 0.24.6! Please open another terminal where the `yarn` command will now be available.

@octopitus No meu caso, tive que adicionar permissões com sudo yarn add global yarn .

brew upgrade yarn e brew link --overwrite node trabalharam para atualizar o fio na OSX Sierra

Você quer dizer brew link --overwrite yarn para o segundo comando certo?

Eu acredito que @localredhead instalou fio com nó. Instalei o fio da seguinte forma:
brew install yarn --without-node , porque gerencio o nó usando nvm .

Provavelmente ele está sobrescrevendo o link para o nó, de modo que está usando a versão correta em vez daquela que vem com / do fio.

Pode parecer óbvio para alguns, mas no Windows o meu foi instalado (acho que do MSI, ou de um script de configuração de env dev que minha empresa fornece) em Program Files (x86) . Não importa o método de atualização que usei, yarn version não se mexia. Acabei descobrindo a causa com which yarn que apontava para o local do crime. Tive que usar a opção "Alterar ou remover um programa" do Windows para removê-lo primeiro e, em seguida, simplesmente npm install -g yarn para reinstalar com a versão mais recente. Agora posso apenas usar o npm para controlar a versão, o que é muito melhor.

@mikechamberlain Isso funcionou para mim, obrigado!

Último estado: precisamos reimplementar o comando self-update que usa o método de instalação original.

Trabalhando na reimplementação.

@onurtemizkan Deve ser relativamente direto. Sinta-se à vontade para me enviar uma mensagem se tiver dúvidas :)

Já temos informações sobre o comando que precisa ser executado (como Yarn imprime um aviso com o comando quando a versão está desatualizada), Yarn só precisa executá-lo de fato. Um caso um pouco diferente é no Windows quando o instalador foi usado, já que teríamos que baixar o instalador e depois msiexec.

Desculpe interromper 😉

Você já considerou simplesmente delegar isso ao npm (assumindo, é claro, que o yarn seja executado se o npm já existir)?

» npm update -g yarn

O bom é que, se não der certo, você sempre pode:

So we tried to get npm to handle the update...

Here are your options:
…

Now, aren't u glad to be using yarn for your other packages!

@smotaal Existem alguns problemas com isso:

  • Se você instalou o Yarn por outro método, agora você terá duas versões do Yarn instaladas (uma por meio do gerenciador de pacotes do sistema e uma por meio do npm)
  • Nem todo mundo tem o npm instalado. O Yarn não requer npm instalado para funcionar

se o seu sistema for Windows e tiver instalado o npm, você pode usar npm install yarn<strong i="5">@latest</strong> -g para atualizar para a versão superior.

Não me lembro como o configurei neste mac há cerca de um ano, sei que estava usando algo diferente de NPM em um ponto, mas quando perdi meu tópico, simplesmente fiz NPM e não tive problemas além de yarn reclamando quando Estou bastante atrasado, o que me lembra de atualizar e simplesmente npm update -g yarn e esquecer até o próximo lembrete.

Do ponto de vista do usuário, acho que o yarn pode recomendar "suportado" e talvez mencionar "não oficial", se for "não oficial" e não "funcionar como pretendido", use "compatível" para instalar e aqui é "recomendado" se você precisar desfazer "não oficial"

Honestamente, é importante para um gerenciador de pacotes ter um caminho claro para que ele seja bem gerenciado.

@onurtemizkan você ainda está trabalhando nisso?

Existem atualizações?
Minha abordagem atual é: yarn global add yarn@latest que não parece ser a maneira ideal

Para aqueles que querem apenas atualizar o yarn automaticamente no windows, sem precisar baixar o binário, estou usando choco há um tempo para fazer isso, e ele está fazendo esse trabalho perfeitamente. É uma ferramenta de linha cmd para instalar programas (assim como apt-get ). Basta executar choco install yarn e o yarn é instalado. Para atualizar, o comando é choco upgrade yarn .

Não, desculpe, chocolate é simplesmente horrível.

Se você não gosta de Chocolatey, não use.

Eu acho que é muito bom. No trabalho, temos muitos
Pacotes de chocolate para vários pacotes de software. Parece funcionar bem.

Em qualquer caso, este problema é especificamente para reimplementar a atualização automática em
Fio. Ele só usará Chocolatey se for o que você usou originalmente! Se vocês
usava o instalador diretamente, as atualizações também usariam o instalador
diretamente. Portanto, não o forçará a usar o Chocolatey.

Enviado do meu telefone.

Na sexta-feira, 20 de abril de 2018, 8:25 Benjamin Staneck [email protected]
escrevi:

Não, desculpe, chocolate é simplesmente horrível.

-
Você está recebendo isso porque foi mencionado.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/yarnpkg/yarn/issues/1139#issuecomment-382869380 ou mudo
o segmento
https://github.com/notifications/unsubscribe-auth/AAFnHRZ-MoIxY2rwVGVHWCqXEPQRAlKHks5tqPKggaJpZM4KYOBW
.

Scoop é uma alternativa ao Chocolatey e funciona muito como cerveja.

Yarn acabou de me dizer que minha versão do yarn estava desatualizada e me pediu para atualizar para a versão mais recente do yarn. No entanto, sua recomendação - um comando curl & bash - me deixa um pouco desconfortável. Este comando não seria efetivamente o substituto para a necessidade de enrolar e canalizar para bater para atualizar o fio? Este comando atuaria como método de atualização principal e frequente do yarn?

Esta é uma experiência muito ruim para novos usuários:

1) Extraia a imagem LTS Docker oficial e atual (10.12.1) para o nó, que inclui o Yarn 1.10.1.
2) yarn import
3) yarn install diz que a versão do yarn está desatualizada e recomenda um comando curl | bash , o que geralmente é considerado uma má ideia pelos administradores de sistemas e equipes de devops.
4) Encontre e execute yarn self-update em https://yarnpkg.com/en/docs/cli/self-update, que está vinculado a este problema do Github.
5) Esqueça qual problema com npm me fez experimentar fios em primeiro lugar.

É meio louco como isso ainda não foi corrigido. Depois de mais de um ano, acho que minha solução ( aqui ) ainda é a mais limpa que existe (embora seja entediante e irritante).

Devemos colaborar para obter um comando para isso! O trabalho árduo do instalador já está feito, é uma questão de empacotar o substituir e executar um comando yarn.

Ainda não funciona?!

Vou resumir minha solução acima novamente aqui:

  1. Remova o fio manualmente

    # remove binaries
    rm -f /usr/local/bin/yarnpkg
    rm -f /usr/local/bin/yarn
    
    # remove cache
    rm -rf ${HOME}/.yarn
    

    Se você tiver o seguinte em seu .zshrc ou .bash_profile, remova-o:

    export PATH="$PATH:`yarn global bin`"
    
  2. Instale o Yarn mais recente (via curl)

    curl -o- -L https://yarnpkg.com/install.sh | bash
    

    Certifique-se de que haja a seguinte linha em seu .zshrc ou .bash_profile:

    export PATH="$HOME/.yarn/bin:$PATH"
    

Finalmente, execute yarn -v para verificar o número da sua nova versão.

Se alguém quiser trabalhar nisso ... Na verdade, já temos o código que determina o comando que precisa ser executado para atualizar o Yarn:
https://github.com/yarnpkg/yarn/blob/master/src/cli/commands/install.js#L86 -L129

Você só precisa adicionar um comando de "atualização automática" que execute o comando correto.

@ Daniel15 Enviei uma solicitação de pull para isso, aguardando algum feedback. Obrigado.

Isso funciona para mim:

brew upgrade yarn
npm update yarn -g

Alguma novidade sobre isso? npm update yarn -g funciona enquanto isso, suponho.

Alguma novidade sobre isso?

@crmpicco Por enquanto, você ainda precisa atualizar manualmente.

Parece que yarn policies set-version [range] foi implementado por @arcanis e pode pegar e definir a versão mais recente. Porém, a ergonomia do comando não sugere que ele instale uma nova versão do Yarn - ele ainda funciona.

Portanto, yarn policies set-version nightly fornecerá a versão mais recente. PR:
https://github.com/yarnpkg/yarn/pull/6673

Não tenho certeza do que isso significaria se você quiser desinstalar o Yarn. :pensando:

Há uma seção Upgrade Yarn nos documentos: https://yarnpkg.com/en/docs/install

@ ilias-t não se trata de atualização, mas sim de usar o mesmo método de instalação para atualizar.

Este problema tem mais de 2 anos, parece que você não se importa. Apenas remova o comando, não está funcionando e é enganoso.

Este comando não existe, por isso será difícil removê-lo 🙂

No que me diz respeito, acredito que a intenção original desse problema foi corrigida com yarn policies set-version . Caso não funcione como esperado, sinta-se à vontade para abrir um novo problema.

Esta página foi útil?
0 / 5 - 0 avaliações