Yarn: Ocorreu um erro inesperado: a solicitação falhou \ "404 Not Found \" ".

Criado em 21 fev. 2017  ·  89Comentários  ·  Fonte: yarnpkg/yarn

Você quer solicitar um recurso ou relatar um bug ?
Erro

Qual é o comportamento atual?
Eu tenho um pacote que depende apenas de módulos do repositório npmjs . Eles são repositórios predominantemente públicos, no entanto, 5 deles são repositórios privados com escopo definido por um símbolo @. Novamente, eles estão hospedados em npmjs .

Até algum tempo hoje todos eles baixariam uma instalação sem problemas. No entanto, algo mudou e agora um deles falha ao instalar com o seguinte erro:

error An unexpected error occurred: "http://registry.npmjs.org/@pepperhq/hmac-http-authentication/-/hmac-http-authentication-0.1.2.tgz: Request failed \"404 Not Found\"".

Como afirmei anteriormente, os outros repositórios privados (todos dentro do mesmo @escopo) baixam e instalam conforme pretendido. Isso me leva a pensar que não é um problema de autenticação.

Meu .npmrc que está na raiz do meu projeto e contém meu _authToken tem a seguinte aparência:

//registry.npmjs.org/:_authToken=TOKEN_HERE

Já concluí as seguintes atividades:

1) Fazer login usando npm login novamente para obter um accessToken novo
2) Garantir que o nome do pacote esteja correto (copiei do site do npm apenas para ter certeza)
3) Executando rm -rf node_modules && rm yarn.lock && yarn cache clean
4) Removendo o pacote ofensivo do meu package.json e tentando re yarn add it
5) Tentar executar o comando npm install --save equivalente. Isso funcionou.

Se o comportamento atual for um bug, forneça as etapas para reproduzir.
Como não tenho certeza da causa, não tenho certeza de como reproduzir. Desejo discutir mais sobre Discord ou em comentários sobre esta questão.

Qual é o comportamento esperado?
Espero que o Yarn instale todos os meus repositórios privados de npmjs

Mencione seu node.js, yarn e versão do sistema operacional.
Retirado de yarn-error.log

Yarn version: 
  0.20.3

Node version: 
  6.9.5

Platform: 
  darwin x64
needs-discussion triaged

Comentários muito úteis

Obrigado a todos, eu também resolvi esse problema excluindo yarn.lock.

Todos 89 comentários

Como um aparte, o pacote claramente existe e yarn está claramente acessando o pacote de alguma forma porque o url contém o número da versão que está tentando recuperar.

Depois de executar mais alguns testes, descobri que o mesmo pacote falha ao instalar de outros repositórios que o exigem ao usar Yarn . No entanto, funciona bem ao usar npm .

Isso me leva a pensar que não é minha configuração específica de repositório. Pode ser algo a ver com o nome do pacote disparando Yarn cima, ou a codificação do url ou algo assim?

Agarrando-se a qualquer coisa aqui, mas espero que isso possa empurrar alguém na direção certa

Eu consertei isso: simplesmente publiquei novamente o pacote ofensivo com um novo número de versão.

Não tenho ideia de por que isso resolveu.

Vou deixar isso aqui para o caso de ajudar na depuração.

Estou tendo o mesmo problema. Isso parece acontecer aleatoriamente e geralmente é resolvido simplesmente tentando novamente a compilação.

Também estamos enfrentando exatamente o mesmo problema.
Alguns módulos privados funcionam, outros não; tudo a mesma coisa @scope.

Acabamos de enfrentar o mesmo problema. Um pouco mais de contexto aqui na esperança de que possa ajudar

  • Estávamos executando yarn em nosso CI (Drone), que é executado em contêineres Docker efêmeros [Alpine Linux]
  • O problema ocorreu em apenas UM dos nossos prédios de serviços, enquanto nada deu errado com os outros serviços, embora eles tenham exatamente a mesma árvore de dependência (!)
  • uma instalação manual no meu Mac para o mesmo repo não gerou nenhum problema (!)
  • o problema foi limitado a um único pacote privado

Conforme mencionado acima, como solução alternativa, publicar uma nova versão do pacote resolveu o problema.

Infelizmente, não consegui obter yarn-error.log detalhados, pois os contêineres são destruídos imediatamente após uma construção com falha. Se mais alguém tiver esse problema, você poderia tentar novamente com uma instalação verbose e lançar o log aqui?

Estou vendo o mesmo problema. Estou usando uma imagem docker no circleci 2.0 e tendo alguns problemas não relacionados que estou depurando localmente (diferença de compilação em cci vs local).

  • quando eu yarn na máquina OSX host, tudo funciona.
  • quando eu yarn no contêiner (Ubuntu), recebo o erro .
  • quando eu yarn no contêiner ^^ (Ubuntu) rodando na infraestrutura do circleci 2.0, ele funciona.

Eu configurei .npmrc etc. É realmente um incômodo que não funciona para mim em um contêiner em execução local.

Verbose não me forneceu nenhuma informação que eu pudesse identificar:

root<strong i="17">@2adc7c09ff9a</strong>:~/af/spec/dummy# yarn --pure-lockfile --ignore-optional
yarn install v0.21.3
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/@alienfast/build/-/build-2.0.38.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/root/af/spec/dummy/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
root<strong i="18">@2adc7c09ff9a</strong>:~/af/spec/dummy# yarn --pure-lockfile --ignore-optional --verbose
yarn install v0.21.3
verbose 0.178 current time: 2017-03-01T20:22:52.715Z
[1/4] Resolving packages...
[2/4] Fetching packages...
verbose 0.798 Performing "GET" request to "https://registry.yarnpkg.com/@alienfast/build/-/build-2.0.38.tgz".
verbose 0.861 Performing "GET" request to "https://registry.yarnpkg.com/@alienfast/ui/-/ui-1.0.34.tgz".
verbose 0.894 Performing "GET" request to "https://registry.yarnpkg.com/react-relay/-/react-relay-0.10.0.tgz".
verbose 0.895 Performing "GET" request to "https://registry.yarnpkg.com/react-dom/-/react-dom-15.4.2.tgz".
verbose 0.919 Performing "GET" request to "https://registry.yarnpkg.com/eslint/-/eslint-3.15.0.tgz".
verbose 0.941 Performing "GET" request to "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.39.0.tgz".
verbose 0.951 Performing "GET" request to "https://registry.yarnpkg.com/@alienfast/material-ui/-/material-ui-0.16.87.tgz".
verbose 0.966 Performing "GET" request to "https://registry.yarnpkg.com/@alienfast/react-formal/-/react-formal-0.24.7.tgz".
verbose 1.003 Performing "GET" request to "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz".
verbose 1.103 Performing "GET" request to "https://registry.yarnpkg.com/graphql/-/graphql-0.9.1.tgz".
verbose 1.178 Performing "GET" request to "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz".
verbose 1.206 Performing "GET" request to "https://registry.yarnpkg.com/material-ui/-/material-ui-0.16.7.tgz".
verbose 1.249 Performing "GET" request to "https://registry.yarnpkg.com/react-i18next/-/react-i18next-2.2.0.tgz".
verbose 1.261 Performing "GET" request to "https://registry.yarnpkg.com/react-relay-network-layer/-/react-relay-network-layer-1.4.0.tgz".
verbose 1.272 Performing "GET" request to "https://registry.yarnpkg.com/react-router/-/react-router-3.0.2.tgz".
verbose 1.696 Performing "GET" request to "https://registry.yarnpkg.com/react-router-relay/-/react-router-relay-0.13.5.tgz".
verbose 1.764 Performing "GET" request to "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.2.0.tgz".
verbose 2.063 Performing "GET" request to "https://registry.yarnpkg.com/recompose/-/recompose-0.22.0.tgz".
verbose 2.144 Error: https://registry.yarnpkg.com/@alienfast/build/-/build-2.0.38.tgz: Request failed "404 Not Found"
    at Request.handleRequestError (/root/.yarn/lib/fetchers/tarball-fetcher.js:231:20)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:189:7)
    at Request.onRequestResponse (/root/.yarn/node_modules/request/request.js:986:10)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:189:7)
    at HTTPParser.parserOnIncomingClient (_http_client.js:522:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
    at TLSSocket.socketOnData (_http_client.js:411:20)
    at emitOne (events.js:96:13)
    at TLSSocket.emit (events.js:189:7)
error An unexpected error occurred: "https://registry.yarnpkg.com/@alienfast/build/-/build-2.0.38.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/root/af/spec/dummy/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
root<strong i="21">@2adc7c09ff9a</strong>:~/af/spec/dummy# cat ~/.npmrc
registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
root<strong i="24">@2adc7c09ff9a</strong>:~/af/spec/dummy# echo $NPM_TOKEN
xxxxx-xxxx-xxxx-xxxx-xxxxxxxx

O mesmo aqui, funciona localmente no OSX, mas não no contêiner CircleCI (circleci 1.0).

Tentei yarn cache clean - depois disso, um pacote diferente falhou na instalação.

Isso acontece com o yarn 0.18.1 e também com o 0.21.3 - então, talvez algo tenha mudado na configuração do registro do yarnpkg? Ou, como acho que todos nos comentários aqui estão usando o CircleCI no cenário-problema, é um problema com a configuração do CircleCI?

Então, achamos que conseguimos resolver o problema; gostaria de ver se funciona para outras pessoas:
Tivemos que fazer uma pequena alteração em .npmrc que não faz muito sentido por que isso funciona:

registry=http://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
<strong i="8">@ourscope</strong>:registry=https://registry.npmjs.org/

Algo a ser observado é que exigimos o registro normal E um para o nosso registro com escopo privado. Apenas certifique-se de alterar @ourscope com o seu.

Deixe-me saber se isso ajudar alguém.

@rogchap acabei de tentar sua solução, mas ainda vejo o mesmo problema de antes :(

temos um hífen em nosso nome de escopo, talvez esse seja o culpado?

registry=http://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
@our-scope:registry=https://registry.npmjs.org/

@rogchap esta solução alternativa não teve nenhum efeito em nossa situação.

root<strong i="7">@f41305331cb8</strong>:~/af/spec/dummy# cat ~/.npmrc
registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
<strong i="8">@alienfast</strong>:registry=https://registry.npmjs.org/

Confirmado a falha com 0.20.4 e 0.21.3 . Visto que isso também tem funcionado para mim sem problemas, estou curioso para saber se algo mudou no lado do servidor para causar isso. Certamente agora parece um bug .

  • Acabei de implantar novas versões dos módulos com escopo 'ofensivo' e não fez diferença, mesmo erro.
  • Eu executei npm install e não tive problemas para buscar os módulos no ambiente do problema

Então, não consertado para mim ... de novo.

Eu tive outro módulo privado me dando a mensagem 404, embora pareça resolver a versão correta (deve estar lendo algo corretamente em algum lugar), e parece tentar baixar o mesmo tar url do NPM.

Desta vez, REMOVA os registros (exceto o de autenticação) em .npmrc para fazê-lo funcionar!

Não há consistência alguma, "jogar" aleatoriamente com .npmrc parece funcionar temporariamente.

Estou tentando promover o Yarn, mas todos os engenheiros em nossa empresa (com razão) dizem que o Yarn "não é estável", "não pode ser usado", "não é confiável", "não funciona com módulos privados", "falha no Servidor CI "etc etc.

Será que o registro Private NPM está fazendo algo "funky" com o user-agent! ?? <- Palpite selvagem.

Para entender melhor isso, podemos precisar de algumas sugestões de contribuidores principais. @bestander , alguma

Não usamos muito pacotes privados, então esse recurso tem menos atenção.
Afaik a maioria dos problemas foram corrigidos pela comunidade.
Esta é uma ótima oportunidade para tentar consertar.
Não acho que o registro npm faria algo com a resposta com base no UA, provavelmente o token não foi passado por algum motivo.

Ok, então bifurquei o fio e mexi um pouco. Parece que ele perde o token antes de buscar o tarball ou melhor, depois que a primeira solicitação é enviada ...

yarn add v0.23.0-0
verbose 0.227 current time: 2017-03-06T20:25:18.877Z
info No lockfile found.
[1/4] Resolving packages...
⠁ { authorization: 'Bearer MY_TOKEN_IS_HERE' } <<<<<----- here it uses my token for the request
verbose 0.409 Performing "GET" request to "https://registry.npmjs.org/@ovos-media%2flib-director".
verbose 1.306 Request "https://registry.npmjs.org/@ovos-media%2flib-director" finished with status code 200.
{} <--- token is gone
verbose 1.316 Performing "GET" request to "https://registry.npmjs.org/bluebird".
{} <--- token is gone
verbose 1.318 Performing "GET" request to "https://registry.npmjs.org/jwt-decode".
verbose 1.531 Request "https://registry.npmjs.org/bluebird" finished with status code 200.
verbose 1.572 Request "https://registry.npmjs.org/jwt-decode" finished with status code 200.
[2/4] Fetching packages...
https: /@ovos-media/lib-director/-/lib-director-0.4.1.tgz https://registry.yarnpkg.com/@ovos-media/lib-director/-/lib-director-0.4.1.tgz
{} <--- token is gone
verbose 1.597 Performing "GET" request to "https://registry.yarnpkg.com/@ovos-media/lib-director/-/lib-director-0.4.1.tgz".
verbose 2.663 Error: https://registry.yarnpkg.com/@ovos-media/lib-director/-/lib-director-0.4.1.tgz: Request failed "404 Not Found"
    at Request.res (/home/ubuntu/yarn/lib/fetchers/tarball-fetcher.js:232:20)
    at emitOne (events.js:90:13)
    at Request.emit (events.js:182:7)
    at Request.onRequestResponse (/home/ubuntu/yarn/node_modules/request/request.js:986:10)
    at emitOne (events.js:90:13)
    at ClientRequest.emit (events.js:182:7)
    at HTTPParser.parserOnIncomingClient (_http_client.js:469:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:103:23)
    at TLSSocket.socketOnData (_http_client.js:359:20)
    at emitOne (events.js:90:13)
error An unexpected error occurred: "https://registry.yarnpkg.com/@ovos-media/lib-director/-/lib-director-0.4.1.tgz: Request failed \"404 Not Found\"".

Quando eu defino explicitamente o cabeçalho authorization no npm-registry.js antes de a solicitação ser enviada, tudo funciona bem. Portanto, parece haver algum bug no yarn e não no lado do servidor.

EDITAR:

Ok, então, após uma inspeção mais detalhada, esse problema ocorre porque a verificação se o cabeçalho de autorização deve ser definido retorna falso em npm-registry.js -> https://github.com/yarnpkg/yarn/pull/2598/files#diff -b053bee294c216269844e5874039b6caR62
E isso, por sua vez, acontece porque ele compara o proxy de registro yarnpkg com o registro npmjs.

https://registry.yarnpkg.com/@ovos-media/lib-director/-/lib-director-0.4.1.tgz https://registry.npmjs.org/

Ok, então descobri como consertar esse problema para nós sem uma mudança no código-fonte dos fios.
É basicamente o que @rogchap postou, mas (em nosso caso) na outra direção:

registry=https://registry.npmjs.org/
@ovos-media:registry=https://registry.yarnpkg.com/
//registry.npmjs.org/:_authToken=your-auth-token

OU, alternativamente, livrar-se completamente do registro:

//registry.npmjs.org/:_authToken=your-auth-token

Isso parece funcionar porque o yarn não usa registros diferentes para o pacote em questão para buscar informações e tarballs. No entanto, não tenho certeza de por que o yarn mistura esses dois e acho que talvez a verificação do token de autenticação possa ser alterada / aprimorada de alguma forma.

Qual é o próximo passo?
Documentar a solução alternativa ou fazer alterações no Yarn?

Tenho experimentado todas as combinações possíveis nas últimas horas e acho que é seguro dizer que não há uma solução alternativa confiável para esse problema. @flipace alguma ideia se isso é algo que pode ser corrigido facilmente? Ambos os métodos não funcionam para mim :(.

Na verdade, risque isso. Remover as atribuições de registro e apenas manter a linha com o token de autenticação parece resolver o problema. Malditos erros de digitação. Obrigado @flipace!

@bestander, tentarei fazer um PR nos próximos dias, o comportamento do fio neste caso não é o que deveria ser. Obrigado @pleunv por confirmar que a solução alternativa funciona para você também!

A solução alternativa não funciona para mim, infelizmente 😿

@willrstern você poderia postar seu .npmrc talvez?

Ah, remover .yarnrc funcionou para mim. Os conteúdos eram:

# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


registry "https://registry.npmjs.org/"
email <email>
lastUpdateCheck 1489181224804
username <username>

observe que o registro npmjs.org foi algo que eu adicionei ao solucionar o motivo de não estar funcionando, portanto, não era a configuração ofensiva.

@flipace .npmrc foi todos os tipos de soluções alternativas acima, incluindo a linha apenas de token.

~ Nenhuma dessas soluções alternativas funcionou para mim. ~

Na verdade, funciona se eu colocar isso no meu arquivo docker:

RUN echo -e "registry=https://registry.npmjs.org/\n//registry.npmjs.org/:_authToken=\${NPM_AUTH_TOKEN}\nsatoshipay:registry=https://registry.npmjs.org/" > /usr/src/app/.npmrc
RUN yarn

O escopo em questão para mim é @satoshipay

Um colega de trabalho e eu tivemos esse problema ... depois de instalar o nó v7.7.4 e fazer o login novamente no npm por meio de npm login , tudo funcionou.

@Levino Você pode executar yarn config list e dar uma olhada se o yarn está pegando o arquivo .npmrc? Em # 521, @BohdanTkachenko resolveu o problema de forma semelhante. Pelo menos isso também funciona para mim :)

Apenas um lembrete de que RP da comunidade é bem-vindo, ninguém na equipe principal está investigando isso

@bestander Existe alguma
Nossa solução atual é voltar a usar o npm 😞

Em algum lugar no resolvedor de pacotes ou buscador de pacotes.

Em ter, 16 de maio de 2017 às 06:29, Roger Chapman [email protected]
escrevi:

@bestander https://github.com/bestander Existe alguma indicação do
equipe central onde podem estar os problemas?
Nossa solução atual é voltar a usar o npm 😞

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

Para todos aqueles que têm esse problema, verifique se há um arquivo .npmrc no diretório do seu projeto, bem como todos os diretórios pai acima dele. Se houver, ele substituirá o arquivo .npmrc em seu diretório inicial. Um membro da minha equipe teve esse problema. Ele tinha um token diferente definido em um arquivo .npmrc diferente.

Eu também tenho outro lugar para procurar. Normalmente, temos esses problemas com yarn install e uso de pacotes privados com escopo definido em CI . Ontem tive o problema de novo. O membro da equipe que criou o novo serviço não configurou registry.npmjs.org como o registro para o escopo em seu .npmrc local. Isso levou ao fato de que o yarn.lock tinha links registry.yarnpkg.com para todos os pacotes, incluindo aqueles com escopo definido. Curiosamente, funcionou localmente, mas quebrou na CI. Então, excluí o yarn.lock e o recriei em minha máquina, onde defini registry.npmjs.org para o escopo em meu arquivo .npmrc. Agora, o arquivo yarn.lock só tinha links para registry.npmjs.org . Eu empurrei o novo yarn.lock e o CI passou sem problemas.

Obrigado!

Também ter .npmrc no cwd nos ajudou no gitlab-ci.

Estou tendo o mesmo problema em um contêiner do docker + yarn 0.26.1 (a instalação funciona bem localmente no meu Mac).

.npmrc é:

<strong i="8">@binded</strong>:registry=https://registry.npmjs.com/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}

NPM_TOKEN está definido corretamente. Obtendo o seguinte erro:

====>> cat .npmrc
  #!/bin/bash -eo pipefail
cat .npmrc
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
====>> build
  #!/bin/bash -eo pipefail
build
engines.node (package.json):  7
engines.npm (package.json):   unspecified (use default)
v7.10.0 is already installed.
Now using node v7.10.0 (npm v4.2.0)
default -> 7 (-> v7.10.0 *)
Using default npm version: 4.2.0
Resolving yarn version 0.26 via semver.io...
Downloading and installing yarn (0.26.1)...
Installed yarn 0.26.1
Installing node modules (yarn.lock)
yarn install v0.26.1
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/@binded/binded-client/-/binded-client-1.3.2.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/ci/project/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Error: Exited with code 1
Step failed
Task failed

Eu também tentei com o seguinte .npmrc :

registry=http://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
<strong i="16">@binded</strong>:registry=https://registry.npmjs.com/

Não tenho certeza se isso é relevante, mas minhas listas de yarn.lock (é resolvido como https://registry.yarnpkg.com/... vez de https://registry.npmjs.com/... ):

"@binded/binded-client@^1.3.2":
  version "1.3.2"
  resolved "https://registry.yarnpkg.com/@binded/binded-client/-/binded-client-1.3.2.tgz#0c29ed98436084b39420020a533df26da3ebbda3"

atualização : se eu excluir yarn.lock , a instalação será bem-sucedida.
atualização : parece que a instalação de [email protected] corrigiu meu problema (acho que estava usando [email protected] antes)

@olalonde tive o mesmo erro. Definir o registro em minha máquina como https://registry.npmjs.org/ e criar yarn.lock resolveu o problema para mim.

Olá,

Como tive o mesmo problema e consegui resolvê-lo, irei compartilhar minha experiência.
Eu tentei todas as random soluções alternativas, mas como @rogchap disse - voltar ao npm funcionou para mim.

Após a instalação bem-sucedida com npm yarn install parou de dar 404 Not Found .

Não tenho ideia do que aconteceu e como foi consertado.
Vou ficar de olho nesse assunto. Espero que alguém resolva este mistério.

melhor,
pgergov

Este problema está ocorrendo aleatoriamente em compilações de Codeship. Algum progresso ou ideia o que está causando isso?

Olá pessoal, só queria compartilhar com vocês que no 0.27.5 o problema está resolvido. Para referência: https://github.com/yarnpkg/yarn/issues/3765
Este problema parece encerrável agora.

Obrigado por acompanhar, @pgergov

Eu também tive esse problema hoje. Mudei o registro para o url tarball do github. Não consegui encontrar o URL do npmjs, então tentei o Github encontrado aqui.
https://github.com/{USER}/{REPO}/tarball/{BRANCH}

Basta colocar isso aqui no caso de alguém ter o mesmo problema que eu.

Estou com a versão mais recente 0.27.5. Eu também experimento a falha na fio . O downgrade da versão para 0.27.3 funciona.

@panalbish você pode tentar 0.28.2 ou tentar atualizar seu token de autenticação para ver se funciona.

@panalbish Obrigado pela sugestão. O downgrade para 0.27.3 funcionou.
@BYK tentei 0.28.2 e 0.28.4 ambos falharam. Recebo um erro quando tento baixar o código do github

yarn install v0.27.5
warning package.json: No license field
warning [email protected]: No license field
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://codeload.github.com/soda0289/typescript-eslint-parser/tar.gz/840978a594dd659cfa2b40d8672ce7a742864623: Request failed \"404 Not Found\"".

Se eu tivesse que adivinhar, ele está enviando tokens de autenticação para o domínio do github causando um erro 404. Vou tentar olhar mais esta noite.

Parece que este problema cobre o problema:
https://github.com/yarnpkg/yarn/issues/3907

Duplicado de # 3907.

Parece que remover yarn.lock antes de executar o comando yarn (ou yarn install ) pode resolver o problema para mim.

Parece que remover yarn.lock antes de executar o comando yarn (ou instalação do yarn) pode resolver o problema para mim.

E então você deve parar de usar fios. O arquivo yarn.lock é o arquivo que garante "compilações reproduzíveis". Você nunca quer deletar isso.

Ok, acalme-se. Dependia do próprio aplicativo que eu estava tentando usar.
A propósito, package.json não deveria ser suficiente para construir em si?

Tecnicamente sim. O arquivo de bloqueio garante que você usará as mesmas versões que todos os outros membros da equipe. Se por algum motivo você não se importar, você pode remover o lockfile e o Yarn criará um novo do zero.

Dito isto, é curioso ter resolvido o seu problema, já que o que estamos rastreando aqui está relacionado a um parâmetro de configuração. Talvez o seu lockfile esteja fazendo referência a uma URL que foi removida desde então? Um commit git que foi excluído por meio de um push forçado, talvez?

Esta é a mensagem real que recebi:

vagrant @ homestead : ~ / Projects / l5b.dev $ yarn
yarn install v0.27.5
[1/4] Resolvendo pacotes ...
[2/4] Buscando pacotes ...
erro Ocorreu um erro inesperado: " https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.7.0.tgz : Falha na solicitação \" 404 não encontrado \ ""

Tentei instalar novamente o repositório que é o aplicativo Laravel ( etapas de instalação ). O npm funcionou bem no localhost (vagrant) e online, mas o yarn apresentou esse erro.

Bem, não procure mais:

image

Sem sorte no npm também:

image

Talvez a webpack org tenha decidido liberar este lançamento após a instalação.

Hm, npm install instalação concluída apesar de um monte de avisos. Mas os avisos não são erros.
Estou tentando pegar essas coisas JS ainda. Eu estava na era jQuery e preciso acelerar.

Ok, acalme-se. Dependia do próprio aplicativo que eu estava tentando usar.

Eu não quis ofender. Lamento se algum foi levado.

Btw não deve package.json ser suficiente para construir em si?

Você pode querer ler isto: https://www.sitepoint.com/yarn-vs-npm/ e deixe-me destacar o parágrafo mais interessante:

O arquivo yarn.lock
Em package.json, o arquivo em que npm e Yarn controlam as dependências do projeto, os números de versão nem sempre são exatos. Em vez disso, você pode definir um intervalo de versões. Desta forma, você pode escolher uma versão específica principal e secundária de um pacote, mas permitir que o npm instale o patch mais recente que pode corrigir alguns bugs.
Em um mundo ideal de controle de versão semântico, as versões corrigidas não incluirão nenhuma alteração significativa. Isso, infelizmente, nem sempre é verdade. A estratégia empregada pelo npm pode resultar em duas máquinas com o mesmo arquivo package.json, com versões diferentes de um pacote instaladas, possivelmente introduzindo bugs.
Para evitar incompatibilidades de versão do pacote, uma versão exata instalada é fixada em um arquivo de bloqueio. Cada vez que um módulo é adicionado, o Yarn cria (ou atualiza) um arquivo yarn.lock. Desta forma, você pode garantir que outra máquina instale exatamente o mesmo pacote, enquanto ainda tem uma gama de versões permitidas definidas em package.json.
No npm, o comando npm shrinkwrap também gera um arquivo de bloqueio, e npm install lê esse arquivo antes de ler o package.json, da mesma forma que o Yarn lê o yarn.lock primeiro. A diferença importante aqui é que o Yarn sempre cria e atualiza o yarn.lock, enquanto o npm não cria um por padrão e só atualiza o npm-shrinkwrap.json quando existe.

Portanto, se você não se importa em fixar versões para evitar compilações "aleatórias", em vez de remover o arquivo yarn.lock e executar yarn você deve deixar o arquivo no lugar e usar npm install (que irá ignorar o arquivo yarn.lock )

Seu projeto está online em algum lugar?

@Tpojka tente remover o arquivo yarn.lock e o node_modules localmente (!) E então execute yarn localmente. Depois, envie o novo arquivo yarn.lock e veja se isso ajuda

Contexto: Isso mudará a versão fixada de seu pacote ausente para a mais recente que ainda seja compatível com o intervalo de versões definido em package.json . Se aquele que está atualmente afixado em yarn.lock não foi publicado, o novo deve estar lá.

Sim, estou usando o yarn 0.18 há muito tempo por causa desse problema estranho e posso confirmar que uma recriação de remoção única de yarn.lock parece resolver o problema. Então, de alguma forma, ele está relacionado aos arquivos de bloqueio da versão antiga do yarn, tanto quanto eu posso dizer.

@sottbessler, infelizmente, isso parece aleatório. Às vezes, a remoção do yarn.lock funciona, às vezes não. Há algo mais estranho acontecendo. Ele pode resolver o pacote (já que sabe qual versão baixar), mas o erro 404 do arquivo tar.

Enfrentei esse problema, trabalhei na minha máquina mac, mas não no servidor.

Funciona no yarn v1.0.1 (para nós localmente, em CI e no buildpack Heroku) seguindo https://github.com/yarnpkg/yarn/issues/3765#issuecomment -327890328 e https://github.com/yarnpkg / yarn / issues / 3765 # issuecomment -328207599.

always-auth=true
https://registry.npmjs.org/:_authToken=${NPM_TOKEN}

Ainda estou tendo um problema aqui.

Tentei adicionar always-auth=true ao meu arquivo .npmrc . Eu também tentei adicionar um https: explícito antes de //registry.npmjs.org/:_authToken=... . Isso também não fez nenhuma diferença.

As coisas funcionam muito bem para o Yarn 0.27.3 , mas qualquer coisa 1.0.0 + parece ter esse problema (no momento, estou usando o yarn 1.2.1 ).

Estou faltando alguma coisa aqui?

Tente remover tudo de .npmrc exceto //registry.npmjs.org/:_authToken=${NPM_TOKEN} . Esta é a única coisa que funciona de forma consistente para nós com nossos pacotes privados com escopo @ (Unix / Windows / OSX) no yarn 1.0.0+.

@pleunv Obrigado! Isso funcionou para mim usando Yarn 1.3.2 , mas apenas se eu também executasse este comando:

yarn config set registry https://registry.npmjs.org

Minha impressão era que o registro padrão do Yarn era apenas um proxy para npmjs.org. Portanto, não tenho certeza de por que isso deve ser necessário, mas com certeza é no meu caso (testado com e sem).

Não posso acreditar que mais pessoas não estejam tendo problemas com isso. Eu teria pensado que todo projeto não-open source estaria tropeçando nisso?!?

Eu apenas testei isso fazendo implantações ( ou seja, dentro de um Dockerfile fazendo uma construção). Vou tentar em minha máquina de desenvolvimento em breve (meus esforços para descobrir isso esta manhã me custaram mais de uma hora 😢).

@pleunv @xogeny você pode nos fornecer um pequeno caso de reprodução para que possamos corrigir esse problema de uma vez por todas? É muito difícil rastrear isso para nós :(

@BYK a menos que esteja faltando alguma coisa, qualquer caso de teste exigiria, por necessidade, um repositório privado e para testar yarn com sucesso, precisaríamos compartilhar um token de acesso privado de algum tipo. Isso parece estranho na melhor das hipóteses.

Parece que a melhor abordagem seria o próprio projeto Yarn estabelecer alguns repositórios privados (por meio de uma conta organizacional mínima e barata) para que você pudesse fazer esses testes fornecendo um token de acesso por meio de uma variável de ambiente via CircleCI ou seu dev / local ambiente de teste. Dessa forma, seria seu token e você não precisaria compartilhá-lo com ninguém.

Mas estou aberto a outras sugestões. Só não sei como organizar as coisas.

Sim, o escopo privado torna um pouco difícil fornecer a você uma reprodução. De qualquer maneira, tínhamos isso em nosso CI com qualquer pacote com escopo privado, no contêiner do docker nodeJS padrão.

@BYK Eu posso configurar uma versão de teste de um repositório Bintray npm com um repro-repo que o acompanha e enviar a você a chave de acesso por e-mail, se ajudar.

@SpainTrain Muito obrigado, configuração

always-auth=true
<strong i="7">@scope</strong>:always-auth=true

no topo de .npmrc corrigiu com yarn v1.3.2

Na minha situação, o problema foi embora quando atualizei yarn.lock para resolver pacotes privados de npmjs.com vez de yarnpkg.com assim -

"@myco/pak1@>=0.0.8":
  version "0.0.11"
  resolved "https://registry.yarnpkg.com/@myco/pak1/-/pak1-0.0.11.tgz#8b5c53bd7378d7f00554fd4813ad9d332d0d87dc"
                             ^^^^^^^ change this
  resolved "https://registry.npmjs.com/@myco/pak1/-/pak1-0.0.11.tgz#8b5c53bd7378d7f00554fd4813ad9d332d0d87dc"
  dependencies:
    lodash "4.*"

Nenhuma dessas soluções funcionou para mim. Nem mesmo estamos usando um pacote privado, apenas um fork público de um pacote público. Yarn.lock alterado para referenciar npmjs.com, usado a configuração de registro do yarn antes da etapa de instalação do yarn.

Por algum motivo, o CircleCI apenas obtém 404s intermitentemente em urls do github "codeload" durante a etapa de instalação do yarn.

Também posso confirmar que depois de executar yarn config set registry https://registry.npmjs.org como @xogeny sugerido, yarn add @org/priv-module deixou de fazer o erro 404 e

No entanto, aqui está a parte interessante - voltei para o registro original ( yarn config set registry https://registry.yarnpkg.com ), fiz rm -rf *; yarn cache clean e yarn add @org/priv-module novamente, não consegui mais reproduzir o 404, ou seja, ele foi instalado corretamente. Tenho certeza de que não estou louco aqui - yarn add @org/priv-module fez 404 na primeira vez.

Como exatamente registry.yarnpkg.com proxy registry.npmjs.org ? Parece que algum cache foi preenchido após uma busca bem-sucedida?

Estou em v1.3.4 no macOS 10.13.2 e .npmrc é simplesmente //registry.npmjs.org/:_authToken={auth token}

Mesmo problema aqui. Aqui está um registro do TravisCI

$ node --version
v8.9.4
$ npm --version
5.6.0
$ nvm --version
0.33.8
before_install.1
0.42s$ yarn config set registry https://registry.npmjs.org
yarn config v1.3.2
success Set "registry" to "https://registry.npmjs.org".
before_install.2
0.43s$ yarn cache clean
yarn cache v1.3.2
success Cleared cache.
$ yarn
yarn install v1.3.2
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/home/travis/build/grundiss/contenter/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

Coisa engraçada: localmente tudo funciona bem.

apenas para a conclusão, aqui estão algumas compilações de circleci com falha, e o pacote 404 nem sempre é o mesmo:

https://circleci.com/gh/EnoahNetzach/gnodsidfjgi/5
https://circleci.com/gh/EnoahNetzach/gnodsidfjgi/7

Eu (espero) consertei meu problema seguindo esta instrução e criando um espelho offline, mas certamente não é assim que qualquer um pode fazer.

Uau. Acontece que meu problema não era parte desse problema, mas sim uma parte de uma coisa mais global: https://github.com/floatdrop/pinkie/issues/18

Merda, agora começamos a ter esse problema também. Pacote com escopo privado. Reprodução aleatória - às vezes funciona (com algumas versões), às vezes não.

Vendo esse erro em nosso projeto. É bizarro, já que não recebo um 404 ao acessar o URL manualmente:

Trace:
  Error: https://codeload.github.com/types/npm-v8flags/tar.gz/de224ae1cd5fd7dbb4e7158a6cc7a29e5315930d: Request failed "404 Not Found"
      at Request.handleRequestError (C:\Users\stewx\AppData\Roaming\nvm\v6.10.0\node_modules\yarn\lib\fetchers\tarball-fetcher.js:203:20)
      at emitOne (events.js:96:13)
      at Request.emit (events.js:188:7)
      at Request.onRequestResponse (C:\Users\stewx\AppData\Roaming\nvm\v6.10.0\node_modules\yarn\node_modules\request\request.js:1068:10)
      at emitOne (events.js:96:13)
      at ClientRequest.emit (events.js:188:7)
      at HTTPParser.parserOnIncomingClient (_http_client.js:474:21)
      at HTTPParser.parserOnHeadersComplete (_http_common.js:99:23)
      at TLSSocket.socketOnData (_http_client.js:363:20)
      at emitOne (events.js:96:13)

Resolvemos todos os erros como esses mudando um pouco nossos URLs. Evite tar / gz e use tarball, ou seja:

"package_name":"https://github.com/somebody/package_name/tarball/master"

Se o seu pacote estiver hospedado privativamente em npmjs.org, remover a linha <strong i="5">@scope</strong>:registry=https://registry.npmjs.org/ de .npmrc funcionou para nós - provavelmente isso se deve a problemas com yarnpkg sendo um CDN para npmjs.org

Estou exibindo isso hoje
error An unexpected error occurred: “https://registry.yarnpkg.com/@types/webpack/-/webpack-3.8.10.tgz: Request failed \“404 Not Found\“”.
Não é um repositório privado :(

1 para mim. Comecei a experimentar hoje também. Tentando instalar o webpack em nosso CI.

O mesmo aqui lol. Última tentativa

error An unexpected error occurred: "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.1.1.tgz: Request failed \"404 Not Found\"".

Isso está sendo discutido aqui https://github.com/yarnpkg/yarn/issues/5530

No meu caso, eu tinha um .npmrc que definia um registro privado para um escopo específico, tudo o que eu precisava adicionar era registry=https://registry.npmjs.org/ no início do arquivo. Resultando em:

# .npmrc
registry=https://registry.npmjs.org/

<strong i="8">@acme</strong>:registry=https://acme.jfrog.io/acme/api/npm/npm/
//acme.jfrog.io/acme/api/npm/npm/:_auth=YYYYYYYYYYYYYYYYYYYYYYYYYY
//acme.jfrog.io/acme/api/npm/npm/:username=username
//acme.jfrog.io/acme/api/npm/npm/:[email protected]
//acme.jfrog.io/acme/api/npm/npm/:always-auth=true

Trabalhar com o CircleCI também teve 404 com instalação de fios.

removendo yarn.lock

Isso funcionou para mim. Cavando mais um pouco, descobriu que havia urls ruins na fechadura de fios.

O yarn lock estava usando o registry.yarnpkg.com que seria um erro 404 no CircleCI (nenhuma pista de por que funcionou localmente).

A configuração resultante que funcionou:

- run: echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
- run: yarn config set registry https://registry.npmjs.org/
- run: yarn

Obrigado a todos, eu também resolvi esse problema excluindo yarn.lock.

Para mim, o comando com falha foi yarn add gatsby-plugin-react-helmet react-helmet .

Consegui executar um yarn upgrade (tentado por curiosidade) e o comando acima funcionou. Não tenho certeza do porquê, mas ficaria grato se alguém tivesse uma explicação.

talvez o npm seja necessário devido à dependência não estar disponível nos repositórios yarn

tenho o mesmo problema com material yarn + CI +

yarn install v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/@material-ui/core/-/core-4.11.0.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/builds/springs-apps/flopanda/flopanda-front-end/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Esta página foi útil?
0 / 5 - 0 avaliações