Pular para o conteúdo principal
Versão: 11 & 12

pnx

Aliases: pnpm dlx, pnpx

Busca um pacote do registro sem instalá-lo como uma dependência, faz o hotload (recarrega automaticamente) e executa qualquer comando padrão que o binário expõe.

For example, to use create-vue anywhere to bootstrap a Vue project without needing to install it under another project, you can run:

pnx create-vue my-app

This will fetch create-vue from the registry and run it with the given arguments.

Você também pode especificar qual versão exata do pacote você gostaria de usar:

pnx create-vue@next my-app

The catalog: protocol is also supported, allowing you to use versions defined in your workspace catalogs:

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

Opções

--package <name>

O pacote a ser instalado antes de executar o comando.

Exemplo:

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

Vários pacotes podem ser fornecidos para instalação:

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

--allow-build

Added in: v10.2.0

A list of package names that are allowed to run postinstall scripts during installation.

Exemplo:

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

The actual packages executed by dlx are allowed to run postinstall scripts by default. So if in the above example my-bundler has to be built before execution, it will be built.

--shell-mode, -c

Executa o comando em um shell. Uses /bin/sh on UNIX and \cmd.exe on Windows.

Exemplo:

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

--silent, -s

Apenas a saída do comando executado é exibida.

Security and trust policies

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.