【问题标题】:Is it normal for Gulp to include so many node_modules when installing Gulp?Gulp 在安装 Gulp 时包含这么多 node_modules 是否正常?
【发布时间】:2016-01-04 09:48:50
【问题描述】:

我刚刚使用以下命令安装了 Gulp:

npm install --global gulp

npm install --save-dev gulp

一切正常,除了我的 node_modules 文件夹现在充满了我从未听说过的模块。所有关于 Gulp 的在线教程都只在此文件夹中显示 Gulp 模块。对我来说是这样的:

node_modules folder

问题:

node_modules 文件夹有这些模块正常吗?

提前谢谢你

尝试了什么:

更新 gulp/node/npm

版本:

gulp -v:

[13:45:13] CLI 版本 3.9.0

[13:45:13] 本地版本 3.9.0

npm -v : 3.3.9

节点-v:v5.0.0

【问题讨论】:

  • 检查你的package.json 也许你已经在你的 package.json 文件中保存了很多东西。使用npm install --save-dev gulp,我的node_modules 文件夹只包含一个文件夹gulp
  • 只吃一口:{ "name": "app", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "devDependencies": { "gulp": "^3.9.0" } }
  • 也许可以尝试:创建一个新文件夹,用npm init 初始化一个新的npm 包文件,然后用npm install --save-dev gulp 在这个文件夹中安装gulp,也许这次node_modules 只包含gulp。
  • 试过了,还是一样。
  • 您是否尝试在硬盘根路径/C:/ 中创建新文件夹?

标签: command-line npm gulp


【解决方案1】:

这是由于 npm 3 的最大扁平依赖树。gulp 需要的所有 node_modules 都安装在根 node_modules 文件夹中,而不是安装在 gulp 依赖项中的 node_modules 文件夹中。

https://docs.npmjs.com/how-npm-works/npm3#npm-v3-dependency-resolution

【讨论】:

  • 我还以为出了点问题。虽然查看 node_modules 中的 100 多个文件夹可能不太好,但至少我可以放心,这是完全正常的。谢谢。
  • 为什么 npm 的设计者没有想到将所有依赖项放在一个单独的文件夹中,并为我们安装的实际模块保留根 node_modules 文件夹。那里有 100 多个文件夹,很难找到您正在使用的模块,我经常需要打开一个模块文件夹来检查要导入的 JavaScript 模块的名称或要引用的样式表等似乎对我来说是糟糕的设计
【解决方案2】:

它不会在根级别安装所有依赖项。如果所有其他都依赖于一个版本,它将在根级别安装。它将安装在冲突版本的子节点模块目录中。因此,在初始安装后添加新模块时必须小心。请务必再次确认install --save / --save-devrm -rf node_modulesnpm install。否则,您下次从头开始安装时可能会遇到意外。

【讨论】:

    猜你喜欢
    • 2017-01-05
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    相关资源
    最近更新 更多