Wie verhält sich npm anders, wenn Ignorierskripte auf true gesetzt sind?


11

Ich habe gerade einen Vortrag gesehen, in dem der Sprecher empfohlen hat:

npm config set ignore-scripts true

Damit Skripte nach der Installation und Skripte vor der Installation eines Pakets nicht ausgeführt werden. Auf diese Weise vermeiden Sie einen Virus in einem Schadpaket.

Meine Frage lautet: Muss ich nach dem Ausführen dieses Befehls etwas anderes tun, um npm-Installationspakete zu installieren und sie innerhalb eines Projekts zum Laufen zu bringen?

Wenn das Ausführen dieses Befehls keine zusätzlichen Unannehmlichkeiten bei der Verwendung von npm mit sich bringt, hat das Ausführen keinen Nachteil. Es würde Ihnen nur helfen, Viren zu vermeiden.

Wenn dies der Fall wäre, warum wäre dies nicht die Standardeinstellung?

Ich frage, weil ich davon ausgehe, dass sich npm-Pakete durch Ignorieren von Paketskripten anders verhalten würden und man mehr Dinge manuell tun müsste.


5
Einige Pakete werden pre/ post -installSkripte für Setup- / Konfigurationszwecke ausgeführt. Die Einstellung ignore-scriptsauf true kann möglicherweise schädlichen Code mindern, kann jedoch häufig dazu führen, dass Pakete installiert werden, die einfach nicht funktionieren.
RobC

Antworten:


0

Ich stimme @RobC hier zu. Außerdem wurde das Ausführen von benutzerdefinierten Skripten package.jsonfür mich vollständig deaktiviert. Dies ist offensichtlich ein Deal Breaker, da Sie Ihre benutzerdefinierten Skripte nicht mehr definieren und ausführen können.

Obwohl es wahrscheinlich nützlich ist, über diese Sicherheitsbedenken nachzudenken, halte ich das Laufen nicht für npm config set ignore-scripts truedie richtige Option. Ich habe es auch ausgeführt und es schließlich wieder deaktiviert, um meine benutzerdefinierten Paketskripte weiter auszuführen.

Der Rat aus dem Video war also nicht allzu gut, denke ich ...

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.