Ich muss Folgendes ausführen: npm prune
aus dieser Zeile in diesem Heroku-Buildpack: https://github.com/gjaldon/heroku-buildpack-phoenix-static/blob/master/lib/build.sh#L137
Ich habe folgenden Fehler festgestellt:
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
Daraus entstand das folgende Debug-Protokoll:
Der Fehler tritt nur auf, wenn npm prune
wenn keine node_modules
vorhanden sind, und er kann nicht nur für das Modul jsesc
.
Aber npm prune
funktioniert gut, wenn wir unsere node_modules
installiert haben.
Der Fehler tritt durch einen sauberen Build auf unserem Heroku ci und für mich lokal auf meinem Osx-Rechner auf.
Vom Klonen dieses Repositorys: https://github.com/samhstn/invalid-bin-entry , dann Ausführen von:
cd assets
npm prune
erzeugt den Fehler
Was kann ich tun, um diese Art von Fehler in Zukunft zu debuggen? Und wie kann ich mein Heroku-Buildpack dazu bringen, den Befehl npm prune
erfolgreich auszuführen?
Ich habe einen neuen und sehr ähnlichen und ungeklärten Fehler in meiner Verpackungskonfiguration. Ich hoffe auf eine Antwort hier, um zu klären, was passiert.
Dies war einer der wenigen Orte, an denen ich ein vernünftiges Ergebnis erzielen konnte:
npm "ungültiger Behältereintrag"
Was mich vermuten lässt, dass dies auf eine kürzliche Änderung zurückzuführen ist.
Ich habe das gleiche Problem
Ich habe die gleiche Fehlermeldung auf NPM: v6.13.4.
Meine Schritte zur Reproduktion unterscheiden sich von OP, aber ich gehe davon aus, dass dies eine ähnliche Ursache ist.
Wir gebrauchen:
npm ci && npm prune --production
Dies bewirkt
error invalid bin entry for package
Verwenden von:
npm install && npm prune --production
Funktioniert aber gut. Ich würde annehmen, weil npm install
package-lock / package.json berührt, wann immer es passt und möglicherweise etwas hinzufügt, damit dies alles funktioniert.
Ich habe das zurückverfolgt
https://github.com/npm/bin-links/commit/25a34f905a0144cebcd41e56b6942117b267e005#diff -168726dbe96b3ce427e7fedce31bb0bcR85
Welches in der Version 6.13.3 npm hinzugefügt wurde.
Ich verstehe nicht besonders, was gerade los ist. Ich könnte später besser lesen, um zu verstehen, was die eigentliche Ursache ist und nicht das Symptom.
Wir sollten nicht auf Version 6.13.2 zurückgreifen, da 6.13.3 und 6.13.4 die Sicherheitslücke im Bin beheben sollen.
https://blog.npmjs.org/post/189618601100/binary-planting-with-the-npm-cli
Ich denke, die derzeit beste Vorgehensweise besteht darin, die Pflaume erst dann zu verwenden, wenn dies sortiert ist, höchstwahrscheinlich nach der Ferienzeit. :) :)
@samhstn @grossmannmartin @ nickv2002
@isaacs (weil git- :)
Das gleiche Problem haben. Sehen Sie es mit verschiedenen Paketen:
+ 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
Ja, es sieht so aus, als würde Prune nicht in den vollständig aufgelösten Ordner übergeben, wenn es Bins verknüpft (was, ich muss sagen, warum _prune_ Bins verknüpft, etwas unnötig erscheint, aber in Ordnung).
Es wird in der nächsten Cli-Version behoben. In der Zwischenzeit können Sie möglicherweise npm ci --production
, um zum Status "Installierte Produktions-Deps, aber keine Dev-Deps" zu gelangen. Das ist nicht gut, wenn Sie darauf angewiesen sind, Ihre Deps im Git-Repo zu bündeln, da ci
die vorhandenen node_modules
wegwirft, wenn es eine findet, aber nur versucht zu denken von Problemumgehungen, die Sie möglicherweise verwenden können.
Gibt es Neuigkeiten darüber, wann dieses Update live sein wird?
6.13.5 wird am Dienstag der nächsten Woche, dem 07.01.2019, mit einem Update für Pacote und Bin-Links veröffentlicht, um dieses und ein weiteres Problem zu beheben.
Gleiches passiert hier. Wissen Sie ungefähr, wann es heute aktualisiert wird?
Dieses Problem hat mich in den letzten Tagen verrückt gemacht. Gibt es eine Idee, wann das Update veröffentlicht wird? Alle meine automatischen Bereitstellungen über TeamCity sind fehlerhaft, sodass wir nicht mehr in der Lage sind, unsere Produkte bereitzustellen und zu überprüfen.
Entschuldigung für die Verspätung. Debugging eines seltsamen Fehlers in GH Actions Windows CI. Wir gehen davon aus, dass wir dies in den nächsten Tagen am längsten herausbringen werden.
@jwwtaker Sie können die Befehle einfach in umgekehrter Reihenfolge verwenden, bis das
npm prune
funktioniert bei mir immer noch nicht mit npm v6.13.6
.
Aus der ursprünglichen Beschreibung:
Vom Klonen dieses Repositorys: https://github.com/samhstn/invalid-bin-entry , dann Ausführen von:
cd assets
npm prune
erzeugt den folgenden Fehler:
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
Und das folgende Debug-Protokoll: 2020-01-13T13_17_57_425Z-debug.log
Wir haben das gleiche Problem, können diese Problemumgehungen jedoch nicht verwenden, da die Befehle vom Heroku-Buildpack ausgeführt werden. Wir stecken bei npm 6.13.2 fest (das Problem tritt seit npm 6.13.3 auf), oder wir müssen package-lock.json
entfernen (das Problem tritt nur bei dieser Datei auf). npm 6.13.5 behebt das Problem nicht und npm 6.13.6 auch nicht.
Gibt es ein Update zu diesem
Mein Azure DevOps CI gab mir den gleichen Fehler. Für den Fall, dass jemand Hilfe benötigt, um dies vorübergehend zu beheben:
Das hat bei mir funktioniert.
Im Gegensatz zu einigen der oben genannten Personen wurde das Problem in meinem Fall durch das Aktualisieren von npm 6.13.4
auf 6.13.6
behoben, sodass wir zumindest wissen, dass einige Probleme behoben wurden. Ich hoffe, dass es auch für alle anderen behoben werden kann.
Nach 20 Tagen wäre zumindest ein Fortschrittsupdate großartig.
Hilfreichster Kommentar
6.13.5 wird am Dienstag der nächsten Woche, dem 07.01.2019, mit einem Update für Pacote und Bin-Links veröffentlicht, um dieses und ein weiteres Problem zu beheben.