Перейти до основного змісту
Версія: 11.x

Глобальні пакунки

Глобальні пакунки — це інструменти та утиліти командного рядка, які встановлюються для всієї системи за допомогою команди pnpm add -g. В pnpm v11, управління лобальними пакунками було змінено для досягнення кращої ізоляції та надійності.

Втсановлення глобальних пакунків

pnpm add -g <pkg>

Наприклад:

pnpm add -g typescript prettier eslint

Ізольоване встановлення

Кожен глобально встановлений пакунок (або група пакунків, встановлених разом) отримує власну ізольовану теку зі своїми package.json, node_modules/ та файлом блокування. Це запобігає взаємному впливу глобальних пакунків через конфлікти залежностей між одноранговими компонентами, через підняття змін або зміни у визначенні версій.

Ізольовані встановлення зберігаються в {pnpmHomeDir}/global/v11/{hash}/, де hash формується від набору пакунків встановлених разом.

Наприклад, виконання цих команд:

pnpm add -g typescript
pnpm add -g prettier

призведе до створення двох ізольованих встановлень для пакунків typescript та prettier, кожен з яких отримує своє власне дерево node_modules, що не впливатиме на розвʼязання залежностей один одного та інших пакунків.

Управління глобальними пакунками

КомандаОпис
pnpm add -g <pkg>Встановлює пакунок глобально
pnpm remove -g <pkg>Видаляє глобально встановлений пакунок (всю встановлену групу)
pnpm update -g [pkg]Оновлює глобально встановлені пакунки (перевстановлює їх в ізольовані теки)
pnpm list -gВиводить перелік глобально встановлених пакунків
нотатка

Команда pnpm install -g (без аргументів) не підтримується. Використовуйте pnpm add -g <pkg> для встановлення потрібних паккунків.

Розташування бінарних файлів

Глобально встановлені бінарні файли зберігаються у субтеці bin в PNPM_HOME (тобто в $PNPM_HOME/bin/). Це дозволяє теці PNPM_HOME залишатись охайною — внутрішні теки global/ та store/ не захаращують автодоповнення оболонки, коли тека PNPM_HOME є в змінній PATH.

Після оновлення до pnpm v11 виконайте pnpm setup для оновлення налаштувань вашої оболонки, щоб шлях $PNPM_HOME/bin був у вашому PATH.

Ви можете дізнатись шлях до глобальної теки bin наступним чином:

pnpm bin -g

Глобальне віртуальне сховище

Глобальні встановлення використовуються глобальне віртуальне сховище. Пакунки зберігаються в {storeDir}/links та спільно використовуються поміж глобальними встановленнями. Це дозволяє уникнути зайвих завантажень, коли кілька глобальних пакунків залежать від одних і тих самих бібліотек.

Реєстрація локальних пакунків як глобальних

Щоб зробити бінарні файли локального пакунка доступними для всієї системи, виконайте команду pnpm add -g . в теці вашого пакунка:

cd ~/projects/my-tool
pnpm add -g .

Виконання команти призведе до реєстрації компонентів теки bin пакунка для виклику з будь-якого місця у системі. Див. pnpm link для отримання додаткової інформації.

Ухваленя скриптів збірки

Глобальні пакунки, що містять скрипти збірки (наприклад, postinstall), потребують ухвалення. Коли ви встановлюєте глобальний пакунок, який потребує запуску скриптів збірки, pnpm інтерактивно запропонує вам ухвалити або відхилити збірку.

Ви також можете попередньо ухвалити збірки, використовуючи прапорець --allow-build:

pnpm add -g --allow-build=esbuild esbuild