Perform Dynamic Execution of an npm Package

pnpm dlx

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.

The opinions expressed herein are my own and do not represent those of my employer or any other third-party views in any way.

Copyright © 2024 Alexandre Nédélec. All rights reserved.