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

pnx

Псевдоніми: pnpm dlx, pnpx

Завантажує пакунок з реєстру, не встановлюючи його як залежність, завантажує його на ходу та запускає стандартні виконувані файли, які він містить.

Наприклад, щоб використати create-vue будь-де для створення проєкту Vue без необхідності встановлення його через інший проєкт, ви можете виконати команду:

pnx create-vue my-app

Це призведе до завантаження create-vue з реєстру та його подальшого запуску з вказаними аргументами.

Ви також можете вказати, яку саме версію пакунка ви бажаєте використовувати:

pnx create-vue@next my-app

Також підтримується протокол catalog:, що дозволяє використовувати версії, визначені в каталогах вашого робочого простору:

pnx shx@catalog:

Використання менеджера пакунків або середовища виконання​

Added in: v12.0.0-rc.6 (pnpm v12 only)

Якщо вказати один із менеджерів пакунків pnpm (npm, yarn, bun) або середовище виконання (node, deno, bun), то замість встановлення однойменного пакунка npm буде встановлено саме це середовище:

pnx yarn@4 install
pnx npm@11 ci
pnx bun@1.3.0 install
pnx node@22 --version

Ці пакунки npm — це або інша версія інструменту, або обгортка, яка завантажує його, тому саме це й було метою їхнього найменування: pnx yarn@4 раніше видавав помилку через відсутність версії, оскільки Yarn 4 опубліковано як @yarnpkg/cli-dist, а pnx node@22 раніше запускав обгортку, яка завантажувала збірку Node.js, а не сам цей реліз.

Специфікатор, який визначає розташування пакунка, а не запитує про версію релізу, встановлює те, що вказано в його назві, без змін:

pnx yarn@npm:yarn@1.22.22
pnx yarn@yarnpkg/berry

--package, у якому вказується назва менеджера пакунків, визначає, яку саме команду з його набору слід виконати:

pnx --package npm@11 npx create-something

Параметри​

--package <name>​

Пакунок, який слід встановити перед запуском команди.

Приклад:

pnx --package=@pnpm/meta-updater meta-updater --help
pnx --package=@pnpm/meta-updater@0 meta-updater --help

Для встановлення можна вказати кілька пакунків:

pnx --package=yo --package=generator-webapp yo webapp --skip-install

--allow-build​

Додано у: v10.2.0

Список назв пакунків, для яких дозволено запускати післяінсталяційні скрипти під час встановлення.

Приклад:

pnx --allow-build=esbuild my-bundler bundle

Власне пакунки, що виконуються dlx, стандартно мають право запускати сценарії після встановлення. Отже, якщо у наведеному вище прикладі my-bundler має бути зібрано перед виконанням, його буде зібрано.

--shell-mode, -c​

Виконує команду всередині оболонки. Використовує /bin/sh в UNIX та \cmd.exe у Windows.

Приклад:

pnx --package cowsay --package lolcatjs -c 'echo "hi pnpm" | cowsay | lolcatjs'

--silent, -s​

Виводиться лише результат виконаної команди.

Політика безпеки та довіри​

Починаючи з версії 11.0.0, pnx (а також його псевдоніми pnpm dlx та pnpx) дотримується налаштувань політики безпеки та довіри на рівні проєкту під час визначення та завантаження запитуваного пакунка:

Це означає, що pnx відмовлятиметься виконувати щойно опубліковані або недостатньо надійні пакунки так само, як це робила б звичайна команда pnpm install.