Node.js native addon build tool

node-gyp is een cross-platform command-line tool geschreven in Node.js voor het compileren vannative addon modules voor Node.js, die de pijn wegneemt van het omgaan met de verschillende verschillen in build platformen. Het is de vervanging van het node-wafprogramma dat is verwijderd voor node v0.8. Als u een native addon voor node heeft die nog steeds een wscript bestand heeft, dan moet u zeker een binding.gyp bestand toevoegen om de laatste versies van node te ondersteunen.

Meerdere doelversies van node worden ondersteund (d.w.z. 0.8, 0.9, 0.10, …, 1.0, enz.), ongeacht welke versie van node daadwerkelijk op uw systeem is geïnstalleerd (node-gyp downloadt de noodzakelijke ontwikkelingsbestanden voor de doelversie).

Features:

  • Gemakkelijk te gebruiken, consistente interface
  • Zelfde commando’s om uw module te bouwen op elk platform
  • Ondersteunt meerdere doelversies van Node

Installatie

U kunt installeren met npm:

$ npm install -g node-gyp

U zult ook moeten installeren:

  • Op Unix:
    • python (v2.7 aanbevolen, v3.x.x wordt niet ondersteund)
    • make
    • Een goede C/C++ compiler toolchain, zoals GCC
  • Op Windows:
    • Python (v2.7.3 aanbevolen, v3.x.x wordt niet ondersteund)
    • Windows XP/Vista/7:
      • Microsoft Visual Studio C++ 2010 (Express-versie werkt goed)
      • Voor 64-bits builds van node en native modules hebt u ook de Windows 7 64-bits SDK nodig
        • Als de installatie mislukt, probeer dan eerst de C++ 2010 x64&x86 Redistributable die u hebt geïnstalleerd te verwijderen.
      • Als u de foutmelding krijgt dat de 64-bits compilers niet zijn geïnstalleerd, hebt u mogelijk ook de compilerupdate voor de Windows SDK 7 nodig.1
    • Windows 7/8:
      • Microsoft Visual Studio C++ 2012 voor Windows Desktop (Express-versie werkt goed)

    Merk op dat OS X slechts een smaak van Unix is en dus python, make, en C/C++ nodig heeft.Een makkelijke manier om deze te verkrijgen is om XCode van Apple te installeren, en dan te gebruiken om de command line tools te installeren (onder Voorkeuren -> Downloads).

    Hoe te gebruiken

    Om uw native addon te compileren, gaat u eerst naar de root directory:

    $ cd my_node_addon

    De volgende stap is om de juiste project build files te genereren voor het huidige platform. Gebruik daarvoor configure:

    $ node-gyp configure

    Note: De configure stap zoekt naar het binding.gyp bestand in de huidige directory om te verwerken. Zie hieronder voor instructies over het maken van het binding.gyp bestand.

    Nu heeft u ofwel een Makefile (op Unix platforms) of een vcxproj bestand (op Windows) in de build/ directory. Roep vervolgens het build commando op:

    $ node-gyp build

    Nu heeft u uw gecompileerde .node bindings bestand! De gecompileerde bindings eindigen in build/Debug/ of build/Release/, afhankelijk van de build mode. Op dit punt kunt u het .node bestand met Node vereisen en uw tests uitvoeren!

    Note: Om een Debug build van het bindingsbestand te maken, geeft u de --debug (of -d) schakeloptie door wanneer u het configure of build commando uitvoert.

    Het “binding.gyp” bestand

    Voorheen, toen Node node-waf had, moest u een wscript bestand schrijven. De plaats daarvan is het binding.gyp bestand, dat de configuratie beschrijft om uw module te bouwen in een JSON-achtig formaat. Dit bestand wordt in de root van uw pakket geplaatst, naast het package.json bestand.

    Een kaal gyp bestand geschikt voor het bouwen van een node addon ziet er als volgt uit:

    { "targets": } ]}

    Enkele aanvullende bronnen voor het schrijven van gyp bestanden:

    • “Hello World” node addon voorbeeld
    • gyp gebruikersdocumentatie
    • gyp input formaat referentie
    • “binding.gyp” files out in the wild wiki page

    Commands

    node-gyp reageert op de volgende commando’s:

    Command Description
    build Oproept make/msbuild.exe en bouwt de native addon
    clean Verwijdert de build dir indien deze bestaat
    configure Genereert project build bestanden voor het huidige platform
    rebuild Draait “clean”, “configure” en “build” allemaal achter elkaar
    install Installeert node development header files voor de gegeven versie
    list Lijst met de momenteel geïnstalleerde node development file versies
    remove Verwijdert de node-ontwikkelingsheaderbestanden voor de opgegeven versie

    Licentie

    (De MIT-licentie)

    Copyright (c) 2012 Nathan Rajlich <[email protected]>

    Hierbij wordt toestemming verleend, gratis, aan iedereen die een kopie van deze software en bijbehorende documentatiebestanden (de ‘Software’) verkrijgt, om de Software zonder beperkingen te verhandelen, met inbegrip van, maar niet beperkt tot, het recht om kopieën van de Software te gebruiken, te kopiëren, te wijzigen, samen te voegen, te publiceren, te distribueren, in sublicentie te geven en/of te verkopen, en om personen aan wie de Software wordt geleverd, toestemming te verlenen om dit te doen, onder de volgende voorwaarden:

    De bovenstaande copyrightvermelding en deze toestemmingsvermelding moeten worden opgenomen in alle kopieën of substantiële gedeelten van de Software.

    DE SOFTWARE WORDT GELEVERD “ZOALS HET IS”, ZONDER GARANTIE VAN WELKE AARD DAN OOK, UITDRUKKELIJK OF IMPLICIET, MET INBEGRIP VAN MAAR NIET BEPERKT TOT DE GARANTIES VAN VERKOOPBAARHEID, GESCHIKTHEID VOOR EEN BEPAALD DOEL EN NIET-INBREUK.IN GEEN GEVAL ZULLEN DE AUTEURS OF DE HOUDERS VAN HET AUTEURSRECHT AANSPRAKELIJK ZIJN VOOR ENIGE VORDERING, SCHADE OF ANDERE AANSPRAKELIJKHEID, HETZIJ IN EEN ACTIE VAN CONTRACT, ONRECHTMATIGE DAAD OF ANDERSZINS, VOORTVLOEIEND UIT, UIT OF IN VERBAND MET DE SOFTWARE OF HET GEBRUIK OF ANDERE OMGANG MET DE SOFTWARE.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.