npx is a tool for running
npm packages that:
- live inside of a local
- are not installed globally.
# Before $ node ./node_modules/.bin/mocha # Now with npx: $ npx mocha
npx looks into the local
/node_modules folder for the package and if it can’t
find it, it will download and run it without having that package globally installed.
npx can reach into
node_modules to run package binaries
npx is a replacement for installing global packages. It encourages you to install packages
locally, but still be able run them as if they were global, just with
$ npm i -D gulp gulp-cli $ npx gulp
Make sure you
--save-dev the package first.
This keeps dependent packages listed in package.json, so that
npx can use the local version instead of downloading it to the npm cache.
npx is a useful tool for easily running
npm packages. Just be wary of typos as this method increases the chance of being
npx comes with npm
npx comes bundled with npm version 5.2+ (or as a standalone package). It works by checking if the npm package command exists in your local
node_modules/.bin folder, or from a central
npx cache and installing any packages needed for that command to run.
Run any one-off package
npx will download and execute any package you give it.
This is useful for one-off commands, such as:
Checking the accessibility score of a website.
$ npx pa11y https://scottlogic.com > Running Pa11y on URL https://scottlogic.com/
Creating a boilerplate React app.
$ npx create-react-app harrys-site
Running a static web server.
$ cd my-website $ npx http-server > Starting up http-server, serving ./ > Available on: > http://192.168.36.65:8080 > http://127.0.0.1:8080 > Hit CTRL-C to stop the server
Deploying to a live server.
$ cd my-website $ npx now --public > Ready! https://test-hffvgcpvvq.now.sh [2s]
npx can also execute a package from a URL, e.g. this GitHub gist:
$ npx https://gist.github.com/zkat/4bc19503fe9e9309e2bfaa2c58074d32 > yay gist
Use it today by updating npm:
npm i npm.
$ npx cowsay goodbye!