首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Grunt要在node_modules中安装这么多文件夹?

为什么Grunt要在node_modules中安装这么多文件夹?
EN

Stack Overflow用户
提问于 2016-06-03 05:50:28
回答 1查看 197关注 0票数 2

很长一段时间以来,我第一次使用咕噜语,我的预感是我用错了。当我运行npm install grunt --save-dev时,我的npm_modules文件夹将装载几十个文件夹(确切地说,是87个)。我的期望,以及我在看教程时看到的是,应该添加一个名为grunt的文件夹。类似地,当我试图添加丑陋的插件(npm install grunt-contrib-uglify --save-dev)时,我会将另外31个文件夹添加到node_modules中。我记得刚得到一个带有插件名称的文件夹。我在用:

npm版本3.9.3

grunt版本1.0.1

OSX Yosemite 10.10.5

package.json

代码语言:javascript
复制
{
  "name": "myapp",
  "version": "1.0.0",
  "description": "the description",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "Me",
  "license": "MIT",
  "devDependencies": {
    "grunt": "^1.0.1",
    "grunt-contrib-uglify": "^1.0.1"
  }
}

任何帮助都是非常感谢的。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-03 05:54:49

您使用的是NPM版本3,它是flattens the dependencies。您已经安装的模块的依赖项也可以安装在您的node_modules文件夹下。您可以将这与Bower如何处理瞬态依赖进行比较。

从医生那里:

当npm2以嵌套的方式安装所有依赖项时,npm3试图减少这种嵌套所导致的深树和冗余。npm3试图这样做的方法是,在与需要它的主依赖项相同的目录中,以平面的方式安装一些辅助依赖项(依赖项的依赖项)。

因此,这种行为是意料之中的,你没有做任何错事。

如果您仍然在运行resolution 2,您可能已经注意到它显示了有关依赖性解析中的此更改的警告消息:

预构建的@>=1.9包含在业力中的同级依赖幻影3+将不再自动安装以实现npm中的3+。您的应用程序需要显式地依赖它。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37606817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档