pnx
Псевдоніми: pnpm dlx, pnpx
Завантажує пакунок з реєстру, не встановлюючи його як залежність, завантажує його на ходу та запускає стандартні виконувані файли, які він містить.
Наприклад, щоб використати create-vue будь-де для створення проєкту Vue без необхідності встановлення його через інший проєкт, ви можете виконати команду:
pnx create-vue my-app
Це призведе до завантаження create-vue з реєстру та його подальшого запуску з вказаними аргументами.
Ви також можете вказати, яку саме версію пакунка ви бажаєте використовувати:
pnx create-vue@next my-app
Також підтримується протокол catalog:, що дозволяє використовувати версії, визначені в каталогах вашого робочого простору:
pnx shx@catalog:
Running a package manager or a runtime
Added in: v12.0.0-rc.6 (pnpm v12 only)
Naming one of the package managers pnpm provisions (npm, yarn, bun), or a runtime (node, deno, bun), provisions the real thing instead of installing the npm package that shares its name:
pnx yarn@4 install
pnx npm@11 ci
pnx bun@1.3.0 install
pnx node@22 --version
Those npm packages are either a different line of the tool or a wrapper that downloads it, so this is what naming them was always meant to do: pnx yarn@4 used to fail with a missing version, since Yarn 4 is published as @yarnpkg/cli-dist, and pnx node@22 used to run a wrapper that downloads a Node.js build rather than that release itself.
A specifier that locates a package rather than asking for a released version installs what it names, unchanged:
pnx yarn@npm:yarn@1.22.22
pnx yarn@yarnpkg/berry
--package naming a package manager picks which of its commands to run:
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
Виводиться лише результат виконаної команди.
Політика безпеки та довіри
Since v11.0.0, pnx (and its pnpm dlx / pnpx aliases) honors the project-level security and trust policy settings when resolving and fetching the requested package:
minimumReleaseAge,minimumReleaseAgeExclude,minimumReleaseAgeStricttrustPolicy,trustPolicyExclude,trustPolicyIgnoreAfter
This means pnx will refuse to execute freshly published or insufficiently trusted packages the same way a regular pnpm install would.