Node.js native addon build tool

node-gyp er et kommandolinjeværktøj på tværs af platforme skrevet i Node.js til at kompilere native addon-moduler til Node.js, hvilket fjerner besværet med at håndtere de forskellige forskelle i build-platforme. Det er en erstatning for node-wafprogrammet, som er fjernet for node v0.8. Hvis du har en native addon til node, der stadig har en wscript-fil, bør du helt sikkert tilføje en binding.gyp-fil for at understøtte de nyeste versioner af node.

Der understøttes flere målversioner af node (dvs. 0.8, 0.9, 0.10, …, 1.0 osv.), uanset hvilken version af node der faktisk er installeret på dit system (node-gyp henter de nødvendige udviklingsfiler til målversionen).

Funktioner:

  • Nemt at bruge, konsistent grænseflade
  • Samme kommandoer til at bygge dit modul på alle platforme
  • Understøtter flere målversioner af Node

Installation

Du kan installere med npm:

$ npm install -g node-gyp

Du skal også installere:

  • På Unix:
    • python (v2.7 anbefales, v3.x.x understøttes ikke)
    • make
    • En ordentlig C/C++ compiler-værktøjskæde, som GCC
  • På Windows:
  • På Windows:
    $ npm install -g node-gyp

    Du skal også installere:

      • Python (v2.7.3 anbefales, v3.x.x er ikke understøttet)
      • Windows XP/Vista/7:
        • Microsoft Visual Studio C++ 2010 (Express-versionen fungerer godt)
        • For 64-bit builds af node- og native moduler skal du også bruge Windows 7 64-bit SDK
          • Hvis installationen mislykkes, skal du prøve at afinstallere enhver C++ 2010 x64&x86 Redistributable, som du har installeret, først.
        • Hvis du får fejl om, at 64-bit compilere ikke er installeret, har du muligvis også brug for compileropdateringen til Windows SDK 7.1
      • Windows 7/8:
        • Microsoft Visual Studio C++ 2012 for Windows Desktop (Express-versionen fungerer godt)

    Bemærk, at OS X blot er en variant af Unix og derfor har brug for python, make og C/C++.En nem måde at få disse på er at installere XCode fra Apple,og derefter bruge den til at installere kommandolinjeværktøjerne (under Preferences -> Downloads).

    Sådan bruger du

    For at kompilere din native tilføjelse skal du først gå til dens rodmappe:

    $ cd my_node_addon

    Det næste trin er at generere de relevante projektbygningsfiler til den aktuelle platform. Brug configure til det:

    $ node-gyp configure

    Bemærk: Trin configure leder efter filen binding.gyp i den aktuellemappe til processs. Se nedenfor for instruktioner om oprettelse af binding.gyp-filen.

    Nu har du enten en Makefile (på Unix-platforme) eller en vcxproj-fil(på Windows) i build/-mappen. Dernæst påkalder du kommandoen build:

    $ node-gyp build

    Nu har du din kompilerede .node bindingsfil! De kompilerede bindinger ender i build/Debug/ eller build/Release/, afhængigt af byggetilstand. På dette tidspunkt kan du kræve .node-filen med Node og køre dine tests!

    OBS: For at oprette en Debug-bygning af bindingsfilen, skal du indsætte kontakten --debug (eller-d), når du kører enten configure eller build-kommandoen.

    Filen “binding.gyp”

    Tidligere, da Node havde node-waf, skulle du skrive en wscript-fil. I stedet for det er binding.gyp-filen, som beskriver konfigurationen til at bygge dit modul i et JSON-lignende format. Denne fil placeres i roden af din pakke, sammen med filen package.json.

    En barebones gyp-fil, der er velegnet til at bygge en nodetilføjelse, ser således ud:

    { "targets": } ]}

    Nogle yderligere ressourcer til at skrive gyp-filer:

    • “Hello World” nodetilføjelse eksempel
    • gyp brugerdokumentation
    • gyp inputformat reference
    • “binding.gyp” filer out in the wild wikiside

    Kommandoer

    node-gyp reagerer på følgende kommandoer:

    Kommando Beskrivelse
    build Invokerer make/msbuild.exe og bygger den native addon
    clean Fraser enhver build dir, hvis den findes
    configure Genererer projektopbygningsfiler til den aktuelle platform
    rebuild Kører “clean”, “configure” og “build” i træk
    install Installerer nodeudviklingsheaderfiler for den givne version
    list Lister over de aktuelt installerede nodeudviklingsfilversioner
    remove Fjerne nodeudviklingsheaderfilerne for den givne version

    Licens

    (MIT-licensen)

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

    Permission er hermed givet, gratis til enhver person, der modtager en kopi af denne software og tilhørende dokumentationsfiler (softwaren), til at handle med softwaren uden begrænsning, herunder uden begrænsning retten til at bruge, kopiere, ændre, sammenføje, offentliggøre, distribuere, underlicensere og/eller sælge kopier af softwaren og til at tillade personer, som softwaren leveres til, at gøre dette, med forbehold af følgende betingelser:

    Overstående meddelelse om ophavsret og denne meddelelse om tilladelse skal være indeholdt i alle kopier eller væsentlige dele af softwaren.

    SOFTWAREN LEVERES “SOM DEN ER”, UDEN NOGEN FORM FOR GARANTI, UDTRYKKELIG ELLER UNDERFORSTÅET, HERUNDER, MEN IKKE BEGRÆNSET TIL, GARANTIERNE FOR SALGBARHED, EGNETHED TIL ET BESTEMT FORMÅL OG IKKE-KRÆNKELSE. UNDER INGEN OMSTÆNDIGHEDER ER FORFATTERNE ELLER INDEHAVERNE AF OPHAVSRETTEN ANSVARLIGE FOR KRAV, SKADER ELLER ANDET ANSVAR, UANSET OM DET ER I ET KONTRAKTLIGT, ERSTATNINGSRETLIGT ELLER ANDET, DER OPSTÅR AF, UD AF ELLER I FORBINDELSE MED SOFTWAREN ELLER BRUGEN ELLER ANDEN HANDEL MED SOFTWAREN.

  • Skriv et svar

    Din e-mailadresse vil ikke blive publiceret.