仅安装package.json中包含的软件包

时间:2018-04-13 12:37:23

标签: node.js npm npm-install package.json package-managers

我只想安装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"
      }
    }

3 个答案:

答案 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 ...等 也已安装,这就是

的情况