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

pnpm link

Псевдоніми: ln

Робить поточний локальний пакунок доступним для всієї системи або в іншому місці.

pnpm link <dir|pkg name>
pnpm link

Параметри

Звʼязує пакунок з <dir> з node_modules пакунка, з якого ви виконуєте цю команду.

Наприклад, якщо ви знаходитесь всередині ~/projects/foo і виконуєте pnpm link ../bar, то посилання на bar буде створено у foo/node_modules/bar.

Звʼязує пакунок з місця, де було виконано цю команду, з глобальним node_modules, тому на нього можна посилатися з іншого пакунка за допомогою pnpm link <pkg>. Також, якщо пакунок має поле bin, то двійкові файли пакунка стають доступними для всієї системи.

Звʼязує вказаний пакунок (<pkg>) з глобальної теки node_modules з node_modules пакунка, з якого було виконано цю команду.

Приклади використання

Заміна встановленого пакунка на локальну версію

Припустімо, у вас є проєкт, який використовує пакунок foo. Ви хочете внести зміни в foo і перевірити їх у своєму проєкті. У цьому сценарії ви можете використовувати pnpm link, щоб звʼязати локальну версію foo з вашим проєктом.

cd ~/projects/foo
pnpm install # встановити залежності foo
pnpm link # звʼязати foo глобально
cd ~/projects/my-project
pnpm link foo # звʼязати foo з my-project

Ви також можете звʼязати пакунок з теки до іншої теки, не використовуючи глобальну теку node_modules:

cd ~/projects/foo
pnpm install # встановити залежності foo
cd ~/projects/my-project
pnpm link ~/projects/foo # звʼязати foo з my-project

Додавання двійкового файлу глобально

Якщо ви розробляєте пакунок, який містить двійковий файл, наприклад, інструмент CLI, ви можете використати pnpm link, щоб зробити двійковий файл доступним для всієї системи. Це те саме, що й використання pnpm install -g foo, але буде використано локальну версію foo замість того, щоб завантажувати її з реєстру.

Памʼятайте, що двійковий файл буде доступним, лише якщо пакунок має поле bin у своєму package.json.

cd ~/projects/foo
pnpm install # встановити залежності foo
pnpm link # звʼязати foo глобально

Коли ви використовуєте pnpm link, повʼязаний пакунок буде зʼєднано з вихідним кодом. Ви можете змінювати вихідний код повʼязаного пакунка, і ці зміни будуть відображатися у вашому проєкті. За допомогою цього методу pnpm не встановить залежності повʼязаного пакунка, вам доведеться встановити їх вручну у вихідному коді. Це може бути корисно, якщо вам потрібно використовувати певний менеджер пакунків для повʼязаного пакунка, наприклад, якщо ви хочете використовувати npm для повʼязаного пакунка, а не pnpm для вашого проєкту.

Коли ви використовуєте протокол file: у dependencies, повʼязаний пакунок жорстко звʼязується з node_modules вашого проєкту, ви можете змінювати вихідний код повʼязаного пакунка, і ці зміни буде застосовано у вашому проєкті. За допомогою цього методу pnpm також встановить залежності повʼязаного пакунка, перевизначивши node_modules повʼязаного пакунка.

інформація

При роботі з прямими залежностями рекомендується використовувати протокол file:. Це краще розвʼязує прямі залежності з залежностями проєкту, гарантуючи, що повʼязана залежність правильно використовує версії залежностей, вказані у вашому основному проєкті, що призводить до більш узгодженої та очікуваної поведінки.

Функціяpnpm linkПротокол file:
Символічне посилання/Жорстке посиланняСимволічне посиланняЖорстке посилання
Відображає зміни вихідного кодуТакТак
Встановлює залежності повʼязаного пакункаНі (потрібне встановлення вручну)Так (замінює node_modules повʼязаного пакунка)
Використання іншого менеджера пакунків для залежностейМожливе (наприклад, використання npm для повʼязаних пакунків)Ні, використовуватиметься pnpm