1.0.0 • Published 3 years ago

skip-postinstall v1.0.0

Weekly downloads
107
License
MIT
Repository
github
Last release
3 years ago

skip-postinstall

A simple, cross-platform way to skip a postinstall script by setting an environment variable

How?

Yarn:

yarn add --dev skip-postinstall

NPM:

npm install --save-dev skip-postinstall

Add skip-postinstall || to your postinstall script:

{
    "scripts": {
        "postinstall": "skip-postinstall || node-gyp rebuild"
    }
}

When you want to skip your postinstall script, simply set the SKIP_POSTINSTALL environment variable and run your command:

SKIP_POSTINSTALL=1 yarn install

Why?

Currently, there is no built-in way to only skip a top-level postinstall in Yarn or NPM. You can use the --ignore-scripts option, but that will ignore the postinstall scripts in all of your dependencies as well. You can also try this approach, but it doesn't work on Windows:

{
    "scripts": {
        "postinstall": "test -n \"$SKIP_POSTINSTALL\" || node-gyp rebuild"
    }
}

skip-postinstall allows you to do this in a way that works on macOS, Linux, and Windows without any other dependencies (just one line of code!)