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) дотримується налаштувань політики безпеки та довіри на рівні проєкту під час визначення та завантаження запитуваного пакунка:
minimumReleaseAge,minimumReleaseAgeExclude,minimumReleaseAgeStricttrustPolicy,trustPolicyExclude,trustPolicyIgnoreAfter
Це означає, що pnx відмовлятиметься виконувати щойно опубліковані або недостатньо надійні пакунки так само, як це робила б звичайна команда pnpm install.