如何禁止 npm 包执行安装后脚本,而不禁用 package.json 中定义的脚本?

2023-12-21

观看一个不错的 YouTube 视频 https://youtu.be/24tQRwIRP_w?t=754提到使用 NPM 包管理器的安全问题,我认为禁止包在安装时执行代码是有意义的。此 NPM 配置将执行以下操作:

npm config set ignore-scripts true

但随后定义的脚本package.json别跑。包括npm start。这很烦人。

有没有一种方法可以阻止包执行代码(如果我没记错的话,我认为这是安装后脚本)并且仍然允许在中定义的脚本package.json to run?

需要明确的是:我DO想执行我自己的脚本。我DON'T想要在某个期间执行第 3 方脚本npm install.


In the npm 安装 https://docs.npmjs.com/cli/install文档指出:

The --ignore-scripts参数将导致 npm 不执行 package.json 中定义的任何脚本。

因此,本质上,当您安装软件包时,您需要附加--ignore-scripts阻止第三方包执行脚本的参数,例如postinstall.

例如:

npm install <pkg_name> --ignore-scripts

Notes:

  • 第三方软件包安装完成后,您仍然可以运行您自己的 npm 脚本,这些脚本在包.json.
  • 我认为禁止包在安装时执行代码是有意义的。

    这取决于,当使用忽略脚本时--ignore-scripts争论你不能总是保证你安装的软件包将完全发挥作用 - 这取决于在postinstall例如脚本。

  • 您无法使用以下命令指定要忽略哪些脚本--ignore-scripts争论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何禁止 npm 包执行安装后脚本,而不禁用 package.json 中定义的脚本? 的相关文章

随机推荐