在将忽略脚本设置为true的情况下,npm的行为方式有何不同?


11

我刚刚观看了演讲者建议跑步的演讲:

npm config set ignore-scripts true

这样就不会运行软件包的安装后脚本和安装前脚本。这样,您可以避免恶意软件包中的病毒。

我的问题是:运行此命令后,我是否必须做一些与npm install软件包不同的事情并使它们在项目中工作?

如果在使用npm时运行此命令不会带来任何其他不便,那么运行它就不会有任何弊端。它只会帮助您避免病毒。

如果是这种情况,为什么不将其设为默认设置?

我之所以问是因为,我认为通过忽略软件包脚本,npm软件包的行为会有所不同,并且必须手动执行更多操作。


5
一些程序包运行pre/ post -install脚本以进行设置/配置。虽然设置ignore-scriptstrue 可以减轻恶意代码的影响,但它可以并且经常确实导致安装的软件包根本无法运行。
RobC

Answers:


0

我在这里同意@RobC。package.json对于我来说,它也完全禁用了运行自定义脚本,这显然很麻烦,因为您无法再定义和运行自定义脚本。

尽管考虑这些安全性问题可能很有用,但我认为运行npm config set ignore-scripts true不是正确的选择。我也运行了它,最后将其关闭以继续运行我的自定义程序包脚本。

因此,我想视频中的建议最终听起来并不是太好听...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.