NPM устанавливает много библиотек

node.js

341 просмотра

2 ответа

1655 Репутация автора

Когда я использую npm installбазу из package.jsonфайла, он устанавливает 337 библиотек: / Вот мой файл пакета

{
  "name": "system_glowna",
  "version": "2.0.0",
  "dependencies": {
    "angular2": "^2.0.0-beta.0",
    "bootstrap": "^3.3.6",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.33.3",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.0",
    "systemjs": "0.19.6",
    "zone.js": "0.5.10"
  },
  "devDependencies": {
    "del": "^1.2.0",
    "gulp": "^3.8.11",
    "gulp-autoprefixer": "^2.2.0",
    "gulp-concat": "^2.5.2",
    "gulp-inject": "^1.2.0",
    "gulp-less": "^3.0.3",
    "gulp-load-plugins": "^0.10.0",
    "gulp-minify-css": "^1.1.6",
    "gulp-minify-html": "^1.0.3",
    "gulp-rename": "^1.2.2",
    "gulp-replace": "^0.5.3",
    "gulp-uglify": "^1.2.0",
    "gulp-watch": "^4.2.4",
    "run-sequence": "^1.1.0"
  }
}

Почему он устанавливает так много библиотек? Как их ограничить?

Автор: piernik Источник Размещён: 29.12.2015 12:56

Ответы (2)


2 плюса

39458 Репутация автора

Вы сказали, чтобы установить довольно большое количество библиотек. Каждая из этих библиотек имеет свои собственные зависимости, которые необходимы для работы этой библиотеки. Вы не можете ограничить или предотвратить это, если вы просто не хотите использовать данную библиотеку.

Обратите внимание, что установка большого количества библиотек сама по себе не является проблемой.

Автор: elixenide Размещён: 29.12.2015 01:01

5 плюса

1158 Репутация автора

Решение

npm до версии 3.x устанавливает библиотеки в древовидной структуре, поэтому каждая библиотека имеет свои собственные node_modules и так далее. Это может привести (или почти всегда) к дублирующимся библиотекам внутри разных пакетов node_modules и приведет к созданию довольно большой папки node_modules. Ситуация усложняется, например, в Windows, когда пути могут быть слишком длинными, чтобы потом можно было легко удалить node_modules.

Однако после 3.x выпуска npm он по умолчанию использует структуру плоских папок и только при наличии конфликтов устанавливает правильные версии для каждой библиотеки.

Обратите внимание: тот факт, что npm устанавливает так много библиотек, необходим для правильной работы каждой библиотеки :)

Автор: SzybkiSasza Размещён: 29.12.2015 01:05
Вопросы из категории :
32x32