Npm允许使用自定义git URL来指定依赖关系(请参阅npm install private github repositories by dependency in package.json)。
但是,这些依赖项通常打包并published到npm注册表,因此可以按名称安装它们。此发布过程通常包括构建文件,缩小文件等,这些文件通常在github中不可用。
使用自定义git URL安装依赖项时,可能需要这些build,minify等文件,但它们将无法使用。
要生成这些文件,npm scripts可用于在安装生命周期中运行挂钩。但是,我无法找到适合此任务的脚本:
prepare
和prepublishOnly
npm pack
和npm publish
之前以及安装git依赖项时运行(如the documentation中所述)。但是,在全局安装中尝试此脚本时未触发(节点LTS版本:v6.11.0,npm版本(来自节点LTS):3.10.10)。不要使用安装。使用.gyp文件进行编译,并预先发布其他任何内容。您几乎不必显式设置预安装或安装脚本。如果您这样做,请考虑是否有其他选择。安装或预安装脚本的唯一有效用途是编译,必须在目标体系结构上完成。
答案 0 :(得分:2)
prepare
节点脚本可以解决问题。但是,此npm脚本仅在npm v5.0.0
中提供,如下所述:https://github.com/npm/npm/blob/dcc4273cadebe70f853e6d948a425978bc42e045/CHANGELOG.md#feature-summary