JS: Настройка окружения

Теория: Глобальная установка пакетов

Некоторые пакеты Node.js представляют собой не просто подключаемые библиотеки, а законченные программы. Например утилита cloc, которая умеет считать количество строк кода в проекте. Сама эта утилита не привязана к JavaScript, она работает с исходными файлами на множестве разных языков.

Подобные утилиты не связаны с конкретным проектом и даже с JavaScript. Подразумевается, что ими может воспользоваться кто угодно. Для таких случаев в npm существует еще один способ установки – глобальный. Посмотрите пример:

# В зависимости от способа установки Node.js
# может понадобиться sudo в начале команды
npm install -g cloc

Флаг -g говорит о том, что пакет нужно установить глобально. Выполнять эту команду можно из любого места файловой системы. npm добавляет этот пакет в специальную директорию, которая доступна для всех пользователей системы. Узнать ее расположение можно еще одной командой npm:

npm config ls -l

...
prefix = "/Users/tirion/.asdf/installs/nodejs/14.5.0/.npm"
...

После установки утилита становится доступна в командной строке по какому-то имени, которое указано в документации проекта, например, на гитхабе. В случае cloc имя пакета совпадает с именем команды:

# Обратите внимание на точку после команды cloc
# Она означает что нужно анализировать текущую директорию
cloc .

      49 text files.
      41 unique files.
      11 files ignored.

github.com/AlDanial/cloc v 1.98  T=0.02 s (2459.4 files/s, 74680.8 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Markdown                        19            213              0            523
YAML                            21             35              0            471
CSS                              1              0              0              3
-------------------------------------------------------------------------------
SUM:                            41            248              0            997
-------------------------------------------------------------------------------

asciicast

Рекомендуемые программы