我只想安装packages.json中包含的软件包。但是当我运行 npm install 时,突然安装了800多个软件包。是否有一个特定的命令来实现这个或者我的package.json(见下文)错了吗?
{
"name": "test",
"version": "1.0.0",
"description": "test",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "test",
"license": "ISC",
"devDependencies": {
"browser-sync": "^2.13.0",
"gulp": "^3.9.1",
"gulp-autoprefixer": "^5.0.0",
"gulp-concat": "^2.6.0",
"gulp-cssnano": "^2.1.2",
"gulp-htmlmin": "^4.0.0",
"gulp-imagemin": "^4.1.0",
"gulp-install": "^1.1.0",
"gulp-jade": "^1.1.0",
"gulp-jsonminify": "^1.0.0",
"gulp-ng-annotate": "^2.0.0",
"gulp-sass": "^4.0.1",
"gulp-uglify": "^3.0.0"
},
"dependencies": {
"critical": "^1.2.2",
"imagemin-pngquant": "^5.0.0"
}
}
答案 0 :(得分:1)
npm install
使用package.json安装您想要 AND 自己的依赖项的软件包。除非你想破坏包裹,否则你没有选择权?在这种情况下,您可以手动卸载您不想要的软件包。
答案 1 :(得分:0)
我不确定为什么会发生这种情况,每当我们运行npm install时,它会选择package.json并安装其中定义的包,包括传递依赖项。通过查看你的package.json,不应该有800个。除非你有多个package.json相互链接。 我建议将package.json复制到另一个目录并清除缓存在模块和
中运行npm install --log-level = verbose 这应该提供正在调用的其他包的详细信息。
答案 2 :(得分:0)
在这种情况下,当您安装此软件包时,还安装了特定软件包的依赖项。
如果您安装关键模块,那么=> 知更鸟 粉笔 cheerio 清理CSS CLI 调试 过滤器的CSS fs-extra ...等 也已安装,这就是
的情况