Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm's 300,000 packages pre-installed, including cross-env with all npm packages installed. Try it out:

var crossEnv = require("cross-env")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

cross-env v3.1.4

Run commands that set environment variables across platforms


Status: npm version npm downloads Build Status Code Coverage Dependencies Donate

This micro-lib allows you to provide a script which sets an environment using unix style and have it work on windows too



I use this in my npm scripts:

  "scripts": {
    "build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"

Ultimately, the command that is executed (using spawn) is:

webpack --config build/webpack.config.js

The NODE_ENV environment variable will be set by cross-env


Windows will choke when you set environment variables with NODE_ENV=production like that. This makes it so you can have a single command without worrying about setting the environment variable properly for the platform. Just set it like you would if it's running on a unix system, and cross-env will take care of setting it properly.

Known limitations

If you plan to do something like this:

cross-env FOO=bar && echo $FOO

And expect it to output bar you're going to be sad, for two reasons:

  1. Technically, those will run as two separate commands, so even though FOO will properly be set to bar in the first command, the echo $FOO will not.
  2. When echo $FOO runs, the $FOO variable is replaced with the variable value, before it's even passed to cross-env (though, as indicated in #1, that doesn't happen anyway)

The main use case for this package is to simply run another script which will (itself) respond to the environment variable. These limitations are not a problem in that scenario (like in the example).

Related Projects

env-cmd - Reads environment variables from a file instead



RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free