Preciso executar: npm prune
desta linha neste buildpack Heroku: https://github.com/gjaldon/heroku-buildpack-phoenix-static/blob/master/lib/build.sh#L137
Eu experimento o seguinte erro:
npm ERR! invalid bin entry for package [email protected]. key=jsesc, value=bin/jsesc
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/samhstn/.npm/_logs/2019-12-18T17_08_55_527Z-debug.log
Que produziu o seguinte log de depuração: 2019-12-18T17_08_55_527Z-debug.log
O erro só ocorre ao executar npm prune
quando nenhum node_modules
está presente e pode ocorrer para mais do que apenas o módulo jsesc
.
Mas npm prune
funciona bem quando instalamos nosso node_modules
.
O erro ocorre de uma compilação limpa em nosso Heroku ci e para mim localmente em minha máquina osx.
Para clonar este repositório: https://github.com/samhstn/invalid-bin-entry e executar:
cd assets
npm prune
produz o erro
O que devo fazer para depurar esse tipo de erro no futuro? E como posso fazer com que meu buildpack do Heroku execute com êxito o comando npm prune
?
Eu tenho um erro novo e muito semelhante e inexplicável na configuração da minha embalagem. Esperando uma resposta aqui para esclarecer o que está acontecendo.
Este foi um dos poucos lugares em que consegui encontrar um resultado razoável para:
npm "entrada bin inválida"
O que me faz suspeitar que isso pode ser devido a alguma mudança recente.
Eu experimento o mesmo problema
Estou recebendo a mesma mensagem de erro no NPM: v6.13.4.
Minhas etapas para reproduzir são diferentes do OP, mas estou assumindo que é uma causa semelhante.
Nós usamos:
npm ci && npm prune --production
Isso causa
error invalid bin entry for package
Usando:
npm install && npm prune --production
Funciona bem no entanto. Eu presumiria porque npm install
toca em package-lock / package.json sempre que achar necessário e está potencialmente adicionando algo lá para fazer tudo isso funcionar.
Eu rastreei isso de volta para
https://github.com/npm/bin-links/commit/25a34f905a0144cebcd41e56b6942117b267e005#diff -168726dbe96b3ce427e7fedce31bb0bcR85
Que foi adicionado na versão v6.13.3 npm.
Eu particularmente não entendo o que está acontecendo agora. Devo ler melhor mais tarde para entender qual é a causa real, e não o sintoma.
Não devemos _revertir para v6.13.2_, pois 6.13.3 e 6.13.4 são para resolver a falha de segurança do compartimento;
https://blog.npmjs.org/post/189618601100/binary-planting-with-the-npm-cli
Acho que o melhor curso de ação agora é simplesmente não usar poda até que seja resolvido, provavelmente após o período de férias. :)
@samhstn @grossmannmartin @ nickv2002
@isaacs (porque git-blame me diz: alegria
Tendo o mesmo problema. Vendo isso com pacotes variados:
+ npm prune
npm ERR! invalid bin entry for package [email protected]. key=portastic, value=bin/portastic
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-12-23T21_19_21_377Z-debug.log
Sim, parece que o prune não passa na pasta totalmente resolvida quando ele liga as caixas (o que, devo dizer, por que _prune_ está ligando as caixas, isso parece um tanto desnecessário, mas ok.)
Isso será corrigido na próxima versão do CLI. Nesse ínterim, talvez você possa usar npm ci --production
para chegar ao estado de "deps de produção instalados, mas não deps de dev". Isso não será bom se você estiver dependendo de agrupar seus depôs no repositório git, é claro, já que ci
joga fora o node_modules
se encontrar um, mas apenas tentando pensar de soluções alternativas que você pode usar.
Alguma notícia de quando essa correção estará no ar?
6.13.5 será lançado na terça-feira da próxima semana, 07-01-2019, com uma atualização do pacote e bin-links para corrigir este e outro problema.
O mesmo está acontecendo aqui. Você sabe aproximadamente a que horas será atualizado hoje?
Esse problema está me deixando maluco nos últimos dias. Há alguma ideia de quando a correção será lançada? quebrou todas as minhas implantações automáticas através do TeamCity, então estamos presos ao poder implantar e fazer o controle de qualidade de nossos produtos.
Desculpe o atraso. Tenho depurado uma falha estranha no GH Actions Windows CI. Esperamos fazer isso nos próximos dias, no máximo.
@jwwtaker você pode simplesmente usar os comandos na ordem inversa até que a correção seja
npm prune
ainda não está funcionando para mim usando npm v6.13.6
.
Da descrição original:
Para clonar este repositório: https://github.com/samhstn/invalid-bin-entry e executar:
cd assets
npm prune
produz o seguinte erro:
npm ERR! invalid bin entry for package [email protected]. key=jsesc, value=bin/jsesc
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/samhstn/.npm/_logs/2020-01-13T13_17_57_425Z-debug.log
E o seguinte log de depuração: 2020-01-13T13_17_57_425Z-debug.log
Temos o mesmo problema, mas não podemos usar essas soluções alternativas porque os comandos são executados pelo buildpack do Heroku. Estamos presos no npm 6.13.2 (o problema ocorre desde o npm 6.13.3) ou devemos remover package-lock.json
(o problema só acontece com este arquivo). O npm 6.13.5 não o corrige, nem o npm 6.13.6.
alguma atualização sobre este @isaacs ?
Meu Azure DevOps CI estava apresentando o mesmo erro, então, apenas no caso de alguém precisar de ajuda para corrigir isso temporariamente:
Isso funcionou para mim.
Ao contrário de algumas pessoas acima, atualizar de npm 6.13.4
para 6.13.6
corrigiu o problema no meu caso, portanto, pelo menos sabemos _alguns_ problemas foram corrigidos. Espero que também possa ser corrigido para todas as outras pessoas.
Após 20 dias, pelo menos uma atualização de progresso seria ótimo.
Comentários muito úteis
6.13.5 será lançado na terça-feira da próxima semana, 07-01-2019, com uma atualização do pacote e bin-links para corrigir este e outro problema.