package.json:只需下载依赖项,但不要安装它

时间:2017-06-25 18:55:09

标签: npm yeoman npm-install

我即将编写一个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

1 个答案:

答案 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" } } 上删除包。)