如果依赖项不来自NPM,则NPM安装不会触发Babel构建

4
例如,如果在我的 package.json 文件中有这个:
 "dependencies": {
     "cacheman": "2.1.0"   }

它可以正常工作,并且在我执行npm install时会触发cacheman内部的构建脚本。

但是,如果我这样做:

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

无法正常工作。npm安装不会触发cacheman的构建过程。

为什么呢?

1个回答

5
你所提到的脚本是预发布脚本,它在将npm模块发布到npm注册表之前运行。请查看此处package.json#L9 这里显示了提取过程。
"scripts": {
    "test": "make test",
    "prepublish": "make"
}

当您从github安装时,没有发布步骤,因此脚本不会运行。
如果您只想从github安装并运行脚本,则可以将其添加为cacheman的postinstall脚本(如果您不是cacheman的所有者,则必须fork该仓库进行更改)。
"scripts": {
    "test": "make test",
    "prepublish": "make",
    "postinstall": "make"//Added postinstall
}

请查看npm脚本文档中的示例,以获取更多详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接