npm установить глобальные или локальные установки разных вещей - PullRequest
0 голосов
/ 19 февраля 2020

Когда я устанавливаю пакет с --global, я получаю другие результаты, чем при локальной установке.

Пример Установка https://github.com/sverweij/dependency-cruiser

$ npm install --save-dev dependency-cruiser

Я получаю

+ dependency-cruiser@7.2.0
added 62 packages from 63 contributors and audited 491 packages in 14.511s

И я не могу использовать depcruise (команда, описанная в репо, делает c)

Однако

$ npm install --global dependency-cruiser

Я получаю

C:\Users\me\AppData\Roaming\npm\depcruise-fmt -> C:\Users\me\AppData\Roaming\npm\node_modules\dependency-cruiser\bin\depcruise-fmt.js
C:\Users\me\AppData\Roaming\npm\dependency-cruiser -> C:\Users\me\AppData\Roaming\npm\node_modules\dependency-cruiser\bin\dependency-cruise.js
C:\Users\me\AppData\Roaming\npm\depcruise -> C:\Users\me\AppData\Roaming\npm\node_modules\dependency-cruiser\bin\dependency-cruise.js
C:\Users\me\AppData\Roaming\npm\dependency-cruise -> C:\Users\me\AppData\Roaming\npm\node_modules\dependency-cruiser\bin\dependency-cruise.js
+ dependency-cruiser@7.2.0
added 115 packages from 89 contributors in 18.422s

И тогда я могу использовать depcruise

  • Почему это происходит?
  • Как получить те же результаты (в данном случае команду depcruise) при локальной установке?

Спасибо,

1 Ответ

1 голос
/ 19 февраля 2020

В npm есть два способа установки вещей:

  1. глобально - это отбрасывает модули в {prefix}/lib/node_modules и помещает исполняемые файлы в {prefix}/bin, где {prefix} обычно что-то вроде /usr/local. Он также устанавливает man-страницы в {prefix}/share/man, если они предоставляются.

  2. локально - это устанавливает ваш пакет в текущий рабочий каталог. Модули узлов go в ./node_modules, исполняемые файлы go в ./node_modules/.bin/ и справочные страницы вообще не установлены.

По этой причине вы видите другой размер пакета пока обе установки. Справка: Node.js Do c 's

...