安装和gulp插件

安装Gulp时有点麻烦。

在我的gulpfile.js我有这些要求:

var gulp = require('gulp'); var sass = require('gulp-sass'); var browserSync = require('browser-sync'); var del = require('del'); var notify = require("gulp-notify"); var htmlExtended = require("gulp-html-extend"); var imagemin = require('gulp-imagemin'); var pngquant = require('imagemin-pngquant'); var bower = require('gulp-bower'); 

而在我的包中,我有我的依赖:

 { "name": "PROJECT", "version": "0.0.1", "private": true, "devDependencies": { "browser-sync": "^2.11.0", "del": "^1.2.0", "gulp": "^3.9.0", "gulp-bower": "^0.0.11", "gulp-html-extend": "^1.1.4", "gulp-imagemin": "^2.3.0", "gulp-load-plugins": "^1.0.0-rc.1", "gulp-notify": "^2.2.0", "gulp-sass": "^2.0.1", "imagemin-pngquant": "^4.2.0", "lodash": "^3.9.3" }, "scripts": { "install": "bower install" } } 

问题是当我启动一个npm installnpm install --save-dev它安装了我没有要求的插件吨。 这里是我安装后的“node_modules”文件夹:

太多的一些插件

如何安装我在package.json中要求的插件?

看起来您正在运行npm版本3.在版本3中,npm更改为在node_modules下的顶级文件夹中具有所有子依赖node_modules 。 在版本2中,npm在另一个node_modules文件夹中有一个模块的子依赖node_modules

为了确保在该文件夹中没有不必要的项目,请删除node_modules中的所有文件夹,然后再次运行npm install 。 这将清除所有尚未添加到package.json的文件夹。

顺便说一下,你可以在你的项目文件夹中用npm -vnpm --version检查你的npm版本。

示例npm 2文件夹结构:

 README.md node_modules/ dependency_a/ node_modules/ dependency_of_a/ package.json 

示例npm 3文件夹结构:

 README.md node_modules/ dependency_a/ dependency_of_a/ package.json