在全局 npm 安装上构建 Git 依赖项



Npm 允许使用自定义 git URL 来指定依赖项(请参阅 package.json 中的 npm 按依赖项安装私有 github 存储库)。

但是,这些依赖项通常会打包并发布到 npm 注册表,因此可以按名称安装它们。此发布过程通常包括构建文件、缩小文件等,这些文件在 github 中通常不可用。

使用自定义 git URL 安装依赖项时,可能需要这些构建、缩小等文件,但它们将不可用。

要生成这些文件,可以使用 npm 脚本在安装生命周期中运行挂钩。但是,我找不到此任务的正确脚本,因为:

  1. 预发布不会在全局安装中运行。它将被弃用,取而代之的是prepareprepublishOnly
  2. 准备也仅在本地安装上运行。(编辑:准备也可以在全局安装上运行,不像npm脚本文档中所说的)
  3. 预打包npm packnpm publish之前以及安装 git 依赖项时运行(如文档中所述)。但是,在全局安装中尝试此脚本时未触发它(节点 LTS 版本:v6.11.0,npm 版本(从节点 LTS):3.10.10)。
  4. 在最佳实践中不建议预安装和安装

不要使用安装。使用 .gyp 文件进行编译,并预发布其他任何内容。您几乎永远不必显式设置预安装或安装脚本。如果您正在这样做,请考虑是否有其他选择。安装或预安装脚本的唯一有效用途是用于必须在目标体系结构上完成的编译。

  1. 安装后也将在软件包的本地安装中运行,这不是预期的行为。

prepare节点脚本就可以解决问题。但是,此 npm 脚本只能从npm v5.0.0获得,如下所述:https://github.com/npm/npm/blob/dcc4273cadebe70f853e6d948a425978bc42e045/CHANGELOG.md#feature-summary

最新更新