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

Only install packages that are included in the package.json

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

npm install 使用 package.json 安装你想要的包 AND 它们自己的依赖项。所以你别无选择,除非你想要破损的包裹?在那种情况下,您可以手动卸载不需要的软件包。

我不确定为什么会发生这种情况,每当我们 运行 npm install 时,它都会选择 package.json 并安装其中定义的包,包括传递依赖项。通过查看您的 package.json,不应该有 800 个 them.unless,您有多个 package.json 相互链接。 我建议将 package.json 复制到另一个目录并清除缓存在模块和

run npm install --log-level=verbose this should give in the details for the rest packages being called up.

在这种情况下,当您安装此包时,该特定包的依赖项也已安装。

就像如果你安装 critical 模块然后 => 青鸟 粉笔 欢呼声 清洁-css 客户端 调试 过滤器-css fs-extra ...等 也安装好了,这里是这样