Run
node-gyp
commands from Grunt
If you haven’t used Grunt before, be sure to check out the Getting started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you’re familiar with that process, you may install this plugin with this command:
$ npm install grunt-node-gyp --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-node-gyp')
You’ll also need to install all necessary build tools. Take a look at node-gyp
’s readme for installation instructions. You don’t need to install node-gyp
globally, however, as it already comes with grunt-node-gyp
.
In your project’s Gruntfile, add a section named gyp
to the data object passed into grunt.initConfig()
.
grunt.initConfig({
gyp: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
}
}
})
Type: String
Default value: rebuild
node-gyp
command to execute.
Supported commands are configure
, build
, clean
and rebuild
. See node-gyp’s readme for command descriptions.
Type: Boolean
Default value: false
Create a debug build.
Type: String
Default value: Your processor’s architecture
Set the target architecture: ia32
, x64
or arm
.
This would be equivalent to node-gyp rebuild
.
$ grunt gyp:addon
grunt.initConfig({
gyp: {
addon: {}
}
})
This would be equivalent to node-gyp configure --debug
.
$ grunt gyp:customTarget
grunt.initConfig({
gyp: {
customTarget: {
command: 'configure',
options: {
debug: true
}
}
}
})
This would be equivalent to node-gyp build --arch=arm
.
$ grunt gyp:arm
grunt.initConfig({
gyp: {
arm: {
command: 'build',
options: {
arch: 'arm'
}
}
}
})
$ npm install
$ npm test
The test suite might take a while as compiling takes time. You may need to install the Node.js header files beforehand:
$ npx node-gyp install
This project follows Semantic Versioning 2.
- v5.0.0 (2020-11-15):
- Update
node-gyp
to v7 - Add support for
node-gyp
v4 and later - Drop support for
node-gyp
versions older than v3 - Drop support for Grunt v0.4
- Drop support for Node.js versions older than v10
- Update
- v4.0.0 (2017-07-03):
- Fix SDK being downloaded to the local directory when using
node-gyp
v3.5 or later - Drop support for Node.js versions older than v4
- Fix SDK being downloaded to the local directory when using
- v3.1.0 (2016-06-19): Add support for Grunt v1
- v3.0.0 (2015-09-08): Update
node-gyp
to v3 - v2.0.0 (2015-05-25): Update
node-gyp
to v2 - v1.0.0 (2015-02-14): Improve clarity of error messages by passing
node-gyp
’s error on - v0.5.0 (2014-12-02): Add
arch
option - v0.4.1 (2014-08-25): Fix rebuild not stopping execution if one of the commands has failed
- v0.4.0 (2014-07-01): Update
node-gyp
to v1 - v0.3.0 (2014-03-05): Update
node-gyp
to v0.13 - v0.2.1 (2014-02-21): Fix borked v0.2.0 release
- v0.2.0 (2013-11-21): Update
node-gyp
to v0.12 - v0.1.0 (2013-08-25): Initial release
grunt-node-gyp
is licensed under the BSD 2-Clause license. See LICENSE
for the full license text.