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

pnpm link

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

Повʼязує локальний пакунок з node_modules поточного проєкту.

pnpm link <dir>

Параметри

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

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

Breaking changes in v11

pnpm link no longer resolves packages from the global store. Only relative or absolute paths are accepted (use pnpm link ./foo instead of pnpm link foo).

pnpm link --global has been removed. To register a local package's bins globally, use pnpm add -g . instead.

pnpm link with no arguments has been removed. Always pass an explicit path.

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

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

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

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

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

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

cd ~/projects/foo
pnpm install # встановити залежності foo
pnpm add -g . # зареєструвати код foo глобально

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

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

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

інформація

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

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