我即将编写一个yeoman生成器,其中整个模板托管在git存储库中。所以我的yeoman生成器的package.json看起来像
{
"name": "generator-foo",
"version": "0.1.0",
"description": "",
"files": [
"generators"
],
"keywords": [
"yeoman-generator"
],
"dependencies": {
"foo-template": "git://somewhere-in-the-world/foo-template.git#0.1.0",
"chalk": "^1.1.3",
"yeoman-generator": "^1.1.1",
"yosay": "^2.0.0"
}
}
有没有办法阻止npm install
安装foo-template
包,即只为此包运行任何安装后脚本?相反,它应该只是下载到node_modules
。
答案 0 :(得分:1)
As describe here,可以使用0
标志为npm全局禁用postinstall脚本。
作为一个完整的解决方案,我会将您的显式依赖关系移动到--ignore-scripts
到您的本地postinstall部分,并启用了忽略脚本:
foo-template
请注意,为了确保明确描述依赖关系,我们应将其标记为peerDependency(例如,阻止在{
"name": "generator-foo",
...
"postinstall": "npm install --ignore-scripts git://somewhere-in-the-world/foo-template.git#0.1.0",
"peerDependencies": {
"foo-template": "git://somewhere-in-the-world/foo-template.git#0.1.0"
}
}
上删除包。)