如果依赖性不是来自NPM,NPM安装不会触发babel构建

时间:2016-01-21 19:20:46

标签: node.js npm babeljs npm-install

例如,如果在我的package.json中,我有这个:

 "dependencies": {
     "cacheman": "2.1.0"   }

它可以正常工作,当我执行npm install时它会在cacheman中触发构建脚本。

然而,如果我这样做:

 "dependencies": {
     "cacheman": "https://github.com/cayasso/cacheman.git"   }

它不起作用。 npm install不会触发cacheman的构建过程。

为什么?

1 个答案:

答案 0 :(得分:5)

您要引用的脚本是预发布脚本,该脚本在将npm模块发布到npm注册表之前运行。点击package.json#L9

此处显示的摘录

"scripts": {
    "test": "make test",
    "prepublish": "make"
}

从github安装时,没有发布步骤,因此脚本不会运行。

如果您只想从github安装并运行脚本,可以将其添加为cacheman 的postinstall脚本(如果您不是缓存器的所有者,则必须使用repo来进行更改)

"scripts": {
    "test": "make test",
    "prepublish": "make",
    "postinstall": "make"//Added postinstall
}

检查npm脚本文档中的examples以获取更多详细信息。