Comment npm se comporte-t-il différemment avec les scripts ignore définis sur true?


11

Je viens de regarder une conférence où l'orateur a recommandé de courir:

npm config set ignore-scripts true

afin que les scripts de post-installation et les scripts de pré-installation d'un package ne s'exécutent pas. De cette façon, vous éviteriez un virus dans un package malveillant.

Ma question est: après avoir exécuté cette commande, dois-je faire quelque chose de différent pour installer les packages npm et les faire fonctionner dans un projet?

Si l'exécution de cette commande n'entraîne aucun inconvénient supplémentaire lors de l'utilisation de npm, son exécution n'aurait aucun inconvénient. Cela ne vous aiderait qu'à éviter les virus.

Si tel était le cas, pourquoi ne serait-ce pas le paramètre par défaut?

Je demande parce que je suppose qu'en ignorant les scripts de package, les packages npm se comporteraient différemment et il faudrait faire plus de choses manuellement.


5
Certains packages exécutent pre/ post -installscripts à des fins d'installation / configuration. Bien que le réglage ignore-scriptssur true puisse atténuer le code malveillant, il peut, et le fait souvent, entraîner l'installation de packages qui ne fonctionnent tout simplement pas.
RobC

Réponses:


0

Je suis d'accord avec @RobC ici. Cela a également désactivé la création de scripts personnalisés dans mon package.jsonintégralité pour moi, ce qui est évidemment un facteur décisif puisque vous ne pouvez plus définir et exécuter vos scripts personnalisés.

Bien qu'il soit probablement utile de réfléchir à ces problèmes de sécurité, je ne pense pas que l'exécution npm config set ignore-scripts truesoit la bonne option. Je l'ai également exécuté et j'ai fini par le désactiver pour continuer à exécuter mes scripts de package personnalisés.

Donc, les conseils de la vidéo ne sont pas trop bons, je suppose ...

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.