是否在npm预安装脚本之前或之后下载依赖项?

时间:2019-03-21 08:11:58

标签: npm npm-install npm-scripts

NPM脚本的文档状态:

  

预安装:在安装软件包之前运行

但这是否在下载依赖项之前或之后发生?

也就是说,其中哪个是正确的:

  1. 下载依赖项
  2. 运行预安装脚本
  3. 安装

  1. 运行预安装脚本
  2. 安装
    1. 下载依赖项作为安装的一部分

我看不到npm script docs涵盖了这一点,但是有可能在其他地方对此进行了记录。

1 个答案:

答案 0 :(得分:0)

我还搜索了此问题的答案,但没有找到任何文件概述了确切的过程。

但是,从测试来看,这似乎取决于。如果您在软件包目录中运行npm linknpm install,它将下载依赖关系并运行脚本,但是顺序如下:

  1. 运行预安装脚本
  2. 下载依赖项
  3. 运行安装后脚本

因此,如果您的预安装脚本使用依赖项,它将失败。

但是,如果您从另一个文件夹运行npm install <package>npm install <path/to/local/folder>,它将按以下顺序执行:

  1. 下载或链接包+所有依赖项
  2. 运行预安装脚本
  3. 运行安装后脚本