What is prebuild-install?
The prebuild-install npm package is used to install prebuilt binaries for Node.js modules, if available, before falling back to building from source. This can significantly speed up installation times and avoid the need for a full development environment with build tools like gcc or Visual Studio.
What are prebuild-install's main functionalities?
Installing prebuilt binaries
Automatically downloads and installs prebuilt binaries for a module if they are available for the current platform and Node.js version. If prebuilt binaries are not available, it will fall back to building from source.
npm install --save <module-name>
Custom binary hosting
Allows specifying custom hosting URLs and tag prefixes for prebuilt binaries, enabling the use of private or alternative binary hosting solutions.
npm install --build-from-source --prebuild-tag-prefix="<custom-prefix>-" --prebuild-download="<custom-hosting-url>"
Skipping prebuilt binary download
Forces the installation process to compile the module from source, bypassing the download of prebuilt binaries.
npm install --build-from-source
Other packages similar to prebuild-install
node-pre-gyp
node-pre-gyp is a similar package that facilitates the installation of precompiled binaries for Node.js modules. It differs from prebuild-install in its configuration and build process, but serves a similar purpose of avoiding the need to compile modules from source.
node-gyp
node-gyp is not a direct alternative to prebuild-install but is often used in conjunction with it. node-gyp is a cross-platform command-line tool for compiling Node.js native addon modules from source. It is used when prebuilt binaries are not available or when a build from source is explicitly requested.
prebuild
prebuild is a tool for creating and managing prebuilt binaries for Node.js modules. It is often used in tandem with prebuild-install. While prebuild is focused on the creation of the binaries, prebuild-install is designed for the end-user installation experience.
prebuild-install
A command line tool for easily install prebuilds for multiple version of node/iojs on a specific platform.
prebuild-install
supports installing prebuilt binaries from GitHub by default.
Usage
Change your package.json install script to:
...
"scripts": {
"install": "prebuild-install || node-gyp rebuild"
}
...
Requirements
You need to provide prebuilds made by prebuild
Help
prebuild-install [options]
--download -d [url] (download prebuilds, no url means github)
--target -t version (version to install for)
--runtime -r runtime (Node runtime [node or electron] to build or install for, default is node)
--path -p path (make a prebuild-install here)
--build-from-source (skip prebuild download)
--verbose (log verbosely)
--libc (use provided libc rather than system default)
--debug (set Debug or Release configuration)
--version (print prebuild-install version and exit)
When prebuild-install
is run via an npm
script, options
--build-from-source
, --debug
and --download
, may be passed through via
arguments given to the npm
command.
Custom binaries
The end user can override binary download location through environment variables in their .npmrc file.
The variable needs to meet the mask % your package name %_binary_host
or % your package name %_binary_host_mirror
. For example:
leveldown_binary_host=http://overriden-host.com/overriden-path
Note that the package version subpath and file name will still be appended.
So if you are installing leveldown@1.2.3
the resulting url will be:
http://overriden-host.com/overriden-path/v1.2.3/leveldown-v1.2.3-node-v57-win32-x64.tar.gz
License
MIT