Node.js native addon build tool

node-gyp este o unealtă de linie de comandă cross-platform scrisă în Node.js pentru compilarea modulelor addon native pentru Node.js, care elimină durerea de a face față diverselor diferențe dintre platformele de compilare. Este înlocuitorul programului node-waf, care este eliminat pentru node v0.8. Dacă aveți un addon nativ pentru node care are încă un fișier wscript, atunci ar trebui neapărat să adăugați un fișier binding.gyppentru a suporta cele mai recente versiuni de node.

Sunt suportate mai multe versiuni țintă de node (adică 0.8, 0.9, 0.10, …, 1.0,etc.), indiferent de versiunea de node instalată efectiv pe sistemul dumneavoastră (node-gyp descarcă fișierele de dezvoltare necesare pentru versiunea țintă).

Caracteristici:

  • Interfață ușor de utilizat, coerentă
  • Aceleași comenzi pentru a vă construi modulul pe fiecare platformă
  • Suportă mai multe versiuni țintă de Node

Instalare

Puteți instala cu npm:

$ npm install -g node-gyp

De asemenea, va trebui să instalați:

  • Pe Unix:
    • python (v2.7 recomandat, v3.x.x nu este suportat)
    • make
    • Un lanț de instrumente de compilare C/C++ adecvat, cum ar fi GCC
  • Pe Windows:
    • Python (v2.7.3 recomandat, v3.x.x nu este suportat)
    • Windows XP/Vista/7:
      • Microsoft Visual Studio C++ 2010 (versiunea Express funcționează bine)
      • Pentru construcțiile pe 64 de biți ale nodului și modulelor native veți avea nevoie, de asemenea, de SDK-ul Windows 7 pe 64 de biți
        • Dacă instalarea nu reușește, încercați să dezinstalați mai întâi orice C++ 2010 x64&x86 Redistributable pe care l-ați instalat.
      • Dacă primiți erori care indică faptul că compilatoarele pe 64 de biți nu sunt instalate, este posibil să aveți nevoie și de actualizarea compilatorului pentru Windows SDK 7.1
    • Windows 7/8:
      • Microsoft Visual Studio C++ 2012 pentru Windows Desktop (versiunea Express funcționează bine)

Rețineți că OS X este doar o aromă de Unix și deci are nevoie de python, make și C/C++.O modalitate ușoară de a le obține este să instalați XCode de la Apple,și apoi să-l folosiți pentru a instala instrumentele de linie de comandă (în Preferențe -> Descărcări).

Cum se utilizează

Pentru a vă compila addon-ul nativ, mergeți mai întâi în directorul rădăcină al acestuia:

$ cd my_node_addon

Postul următor este de a genera fișierele de construcție a proiectului adecvate pentru platforma curentă. Folosiți configure pentru asta:

$ node-gyp configure

Nota: Pasul configure caută fișierul binding.gyp în directorul curent pentru a-l procesa. Vedeți mai jos instrucțiunile de creare a fișierului binding.gyp.

Acum veți avea fie un fișier Makefile (pe platformele Unix), fie un fișier vcxproj(pe Windows) în directorul build/. În continuare, invocați comanda build:

$ node-gyp build

Acum aveți fișierul de bindings .node compilat! Legăturile compilate se termină în build/Debug/ sau build/Release/, în funcție de modul de compilare. În acest moment, puteți cere fișierul .node cu Node și să vă executați testele!

Nota: Pentru a crea o compilare Debug a fișierului de legături, treceți comutatorul --debug (sau-d) atunci când executați comanda configure sau build.

Fisierul „binding.gyp”

Anterior, când Node avea node-waf, trebuia să scrieți un fișier wscript. Înlocuitorul acestuia este fișierul binding.gyp, care descrie configurațiapentru a vă construi modulul într-un format de tip JSON. Acest fișier este plasat în rădăcina pachetului dvs., alături de fișierul package.json.

Un fișier gyp gol-goluț adecvat pentru construirea unui addon de nod arată astfel:

{ "targets": } ]}

Câteva resurse suplimentare pentru scrierea fișierelor gyp:

  • Exemplu de addon de nod „Hello World”
  • Documentație pentru utilizatorgyp
  • Referință pentru formatul de intraregyp
  • „binding.gyp” files out in the wild wiki page

Commands

node-gyp răspunde la următoarele comenzi:

.

.

Comandă Descriere
build Invoacă make/msbuild.exe și construiește addon-ul nativ
clean Îndepărtează orice dir build dacă există
configure Generează fișierele de construire a proiectului pentru platforma curentă
rebuild Se execută „curat”, „configure” și „build” toate la rând
install Instalează fișierele antet de dezvoltare a nodului pentru versiunea dată
list Înumeră versiunile fișierelor de dezvoltare a nodului instalate în prezent
remove Îndepărtează fișierele antet de dezvoltare a nodului pentru versiunea dată

Licență

(The MIT License)

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

Permisiunea este acordată prin prezenta, gratuită, oricărei persoane care obține o copie a acestui software și a fișierelor de documentație asociate (denumit în continuare „Software”), de a tranzacționa Software-ul fără restricții, inclusiv, fără a se limita la drepturile de a utiliza, copia, modifica, îmbina, publica, distribui, sublicenția și/sau vinde copii ale Software-ului, precum și de a permite persoanelor cărora le este furnizat Software-ul să facă acest lucru, sub rezerva următoarelor condiții:

Anunțul privind drepturile de autor de mai sus și acest anunț de permisiune vor fi incluse în toate copiile sau părțile substanțiale ale software-ului.

SOFTWARE-UL ESTE FURNIZAT „AȘA CUM ESTE”, FĂRĂ NICI UN FEL DE GARANȚIE DE ORICE FEL, EXPRESĂ SAU IMPLICITĂ, INCLUSIV, DAR FĂRĂ A SE LIMITA LA GARANȚIILE DE VANDABILITATE, DE ADECVARE LA UN ANUMIT SCOP ȘI DE NERESPECTARE A DREPTURILOR DE AUTOR. ÎN NICI UN CAZ AUTORII SAU DEȚINĂTORII DREPTURILOR DE AUTOR NU VOR FI RĂSPUNZĂTORI PENTRU ORICE RECLAMAȚIE, DAUNE SAU ALTE RĂSPUNDERI, FIE ÎNTR-O ACȚIUNE CONTRACTUALĂ, DELICTUALĂ SAU DE ALTĂ NATURĂ, CARE REZULTĂ DIN, DIN SAU ÎN LEGĂTURĂ CU SOFTWARE-UL SAU CU UTILIZAREA SAU ALTE TRANZACȚII CU SOFTWARE-UL.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.