如果依赖项不是来自 NPM,NPM 安装不会触发 babel 构建
NPM install doesn't trigger babel build if dependencies not coming from NPM
例如,如果在我的 package.json 中,我有这个:
"dependencies": {
"cacheman": "2.1.0" }
它有效,当我执行 npm install 时,它会触发 cacheman 中的构建脚本。
但是,如果我这样做:
"dependencies": {
"cacheman": "https://github.com/cayasso/cacheman.git" }
这是行不通的。 npm install 不会触发 cacheman 的构建过程。
这是为什么?
您引用的脚本是 pre-publish 脚本,该脚本在将 npm 模块发布到 npm 注册表之前 运行s。在这里查看 package.json#L9
此处显示摘录
"scripts": {
"test": "make test",
"prepublish": "make"
}
当您从 github 安装它时,没有发布步骤,因此脚本不是 运行。
如果你只想从 github 安装并且有脚本 运行,你可以将它添加为 cacheman 的安装后脚本(你必须将 repo 分叉到如果您不是 cacheman 的所有者,请进行更改)。
"scripts": {
"test": "make test",
"prepublish": "make",
"postinstall": "make"//Added postinstall
}
查看 npm 脚本文档中的 examples 了解更多详细信息。
例如,如果在我的 package.json 中,我有这个:
"dependencies": {
"cacheman": "2.1.0" }
它有效,当我执行 npm install 时,它会触发 cacheman 中的构建脚本。
但是,如果我这样做:
"dependencies": {
"cacheman": "https://github.com/cayasso/cacheman.git" }
这是行不通的。 npm install 不会触发 cacheman 的构建过程。
这是为什么?
您引用的脚本是 pre-publish 脚本,该脚本在将 npm 模块发布到 npm 注册表之前 运行s。在这里查看 package.json#L9
此处显示摘录
"scripts": {
"test": "make test",
"prepublish": "make"
}
当您从 github 安装它时,没有发布步骤,因此脚本不是 运行。
如果你只想从 github 安装并且有脚本 运行,你可以将它添加为 cacheman 的安装后脚本(你必须将 repo 分叉到如果您不是 cacheman 的所有者,请进行更改)。
"scripts": {
"test": "make test",
"prepublish": "make",
"postinstall": "make"//Added postinstall
}
查看 npm 脚本文档中的 examples 了解更多详细信息。