例如,如果在我的package.json中,我有这个:
"dependencies": {
"cacheman": "2.1.0" }
它可以正常工作,当我执行npm install时它会在cacheman中触发构建脚本。
然而,如果我这样做:
"dependencies": {
"cacheman": "https://github.com/cayasso/cacheman.git" }
它不起作用。 npm install不会触发cacheman的构建过程。
为什么?
答案 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以获取更多详细信息。