node-gyp — стандартный инструмент сборки для нативных аддонов Node.js, используемый подавляющим большинством пакетов в экосистеме npm. Он активно сопровождается командой Node.js. Большинство примеров на этом сайте используют node-gyp для сборки бинарников.
node-gyp основан на инструменте сборки GYP от Google. GYP предоставляет единый кроссплатформенный формат конфигурации для C/C++-сборок. Хотя Google заархивировал вышестоящий репозиторий GYP, node-gyp продолжает получать активную разработку и сопровождение через gyp-next.
node-gyp требует Python 3.6 или новее. Python 2 не поддерживается. Полный список требований для каждой платформы можно найти в документации по установке node-gyp.
node-gyp входит в комплект npm; когда npm видит "gypfile": true в package.json, он автоматически вызывает node-gyp во время npm install. Можно также установить и использовать его напрямую:
npm install -g node-gypДля разработчиков, которым node-gyp кажется слишком стесняющим, CMake.js — хорошая альтернатива.
- Входит в комплект npm — потребителям не нужна отдельная глобальная установка.
- Используется почти повсеместно в экосистеме Node.js, с обширной документацией и знаниями сообщества.
- Поддерживает Windows, macOS и Linux из одного файла конфигурации
binding.gyp.
- Нижележащий формат GYP больше активно не развивается Google.
- Некоторые разработчики находят синтаксис конфигурации GYP многословным или трудным для отладки.