Подтвердить что ты не робот

"npm install" устанавливает все зависимости в каталоге node_modules, вместо того, чтобы иметь их вложенные

Мне нужно знать, нормально ли следующее поведение.

Когда я npm install, каждый пакет из моего package.json и зависимостей больше не устанавливается вложенным, но каждая зависимость устанавливается в node_modules. Это приводит к тому, что моя директория node_modules взорвана и выглядит следующим образом:

Снимок экрана  node_modules directory

Это произошло после обновления npm и node.

Теперь я запускаю:

npm -v 3.3.6
node -v 4.2.1
python 2.7
windows 7
wamp

Мой файл package.json выглядит следующим образом:

{
  "private": true,
  "devDependencies": {
    "gulp": "^3.8.8"
  },
  "dependencies": {
    "laravel-elixir": "^3.0.0",
    "bootstrap-sass": "^3.0.0"
  }
}

Это стандартный файл laravel package.json.

Есть ли способ снова вставить вложенные каталоги, потому что мне не нравится такая взорванная статья с более чем 100 подкаталогами.

4b9b3361

Ответ 1

Что такое новое поведение npm 3 в соответствии с этот блог npm.

Ответ 2

Да, есть способ снова вставить вложенные каталоги, изменив поведение по умолчанию npm (версия 3 на момент написания):

  • Удалить текущую папку node_modules.

  • Сообщите npm для установки с устаревшим пакетом для этой установки:

    npm install --legacy-bundling

"Постоянная" альтернатива:

  1. Задайте конфигурацию npm, чтобы всегда использовать устаревшее связывание...

    npm set legacy-bundling=true

  2. .. и выполняйте как обычно:

    npm install

Примечание. выборки зависимостей с устаревшим пакетом потребует гораздо больше времени, потому что будет установлено много разных версий одинаковых зависимостей.

Отказ от ответственности:. Как пользователь, не являющийся пользователем Windows, мне не нужны плоские зависимости и вы хотите легко найти самозапрошенные зависимости в пользу автоматической дедупликации. Поскольку установка зависимостей npm без устаревшего пакета уже занимает невероятное количество времени, я обычно готов потратить эти дополнительные минуты на установку. Он возвращается к 5 каталогам из более 700 + (...) в настройке El Larvel Elixir с бутстрапом (не-sass), шрифтом-awesome и jquery.