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

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:

This means pnx will refuse to execute freshly published or insufficiently trusted packages the same way a regular pnpm install would.