我即将编写一个yeoman生成器,其中整个模板都托管在git存储库中。所以我的尤曼发生器的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包,即只为该包运行任何postinstall脚本?相反,应该将其下载到node_modules。
发布于 2017-06-25 19:58:19
As describe here,可以使用--ignore-scripts标志为npm全局禁用后置脚本。
作为一个完整的解决方案,在启用了忽略脚本的情况下,我会将显式依赖移到foo-template到本地postinstall部分:
{
"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"
}
}请注意,为了确保显式地描述依赖关系,我们应该将其标记为peerDependency (例如,防止prune上的包删除)。
https://stackoverflow.com/questions/44749524
复制相似问题