Perform Dynamic Execution of an npm Package

pnpm dlx
Published on Thursday, May 18, 2023

Sometimes, all you want to do is grab an npm package and execute a command with it, without having to install it (whether globally or as a dependency).

That's what you can do with pnpm dlx.

An example

pnpm dlx vercel deploy

This example shows how to use the vercel CLI package without having to install it thanks to pnpm dlx.

In this example, pnpm downloads the vercel package, and executes it with the command deploy (that deploys a project to the Vercel platform).

Some use cases

  • You don't want to install globally a package because you only need to execute its binary script once

  • You don't want a package to be a dev dependency of your project, or you are not using it in the context of a Node project

  • You need to execute a CLI package command from a CI pipeline

  • You want to ensure you use the latest version of a package (useful for starter kits like create-vite, or create-vue)

Good to know

For starter kits, you can use pnpm create instead of pnpm dlx. For instance, executing pnpm create vue is equivalent to executing pnpm dlx create-vue.