Node.js native addon build tool

node-gyp egy Node.js nyelven írt cross-platform parancssori eszköz a Node.js natív addon modulok Node.js számára történő fordítására, amely leveszi a kezünkről a build platformok különbözőségeivel való foglalkozás fájdalmát. Ez a node-wafprogram helyettesítője, amely a node v0.8 esetében eltávolításra került. Ha van egy natív addonod a node-hoz, amelyhez még mindig van egy wscript fájl, akkor mindenképpen hozzá kell adnod egy binding.gyp fájlt, hogy támogassa a node legújabb verzióit.

A node több célverziója támogatott (pl. 0.8, 0.9, 0.10, …, 1.0,stb.), függetlenül attól, hogy a node melyik verziója van ténylegesen telepítve a rendszereden(node-gyp letölti a szükséges fejlesztési fájlokat a célverzióhoz).

Jellemzők:

  • Egyszerűen használható, egységes felület
  • Minden platformon ugyanazokkal a parancsokkal építheti modulját
  • Támogatja a Node több célverzióját

Telepítés

A npm segítségével telepítheti:

$ npm install -g node-gyp

Telepítenie kell még:

  • Unixon:
    • python (v2.7 ajánlott, v3.x.x nem támogatott)
    • make
    • Egy megfelelő C/C++ fordító eszköztárat, mint a GCC
  • Windowson:
    • Python (v2.7.3 ajánlott, v3.x.x nem támogatott)
    • Windows XP/Vista/7:
      • Microsoft Visual Studio C++ 2010 (Express verzió jól működik)
      • A csomópontok és a natív modulok 64 bites építéséhez a Windows 7 64 bites SDK-ra is szüksége lesz
        • Ha a telepítés nem sikerül, először próbálja meg eltávolítani a telepített C++ 2010 x64&x86 Redistributable-t, amit telepített.
      • Ha olyan hibákat kap, hogy a 64 bites fordítók nincsenek telepítve, akkor szükség lehet a Windows 7 SDK fordítófrissítésére is.1
    • Windows 7/8:
      • Microsoft Visual Studio C++ 2012 for Windows Desktop (Express verzió jól működik)

Megjegyezzük, hogy az OS X csak a Unix egy ízesített változata, így szüksége van python, make és C/C++-ra.Ezek beszerzésének egyszerű módja az XCode telepítése az Apple-től,majd a parancssori eszközök telepítése (a Beállítások -> Letöltések alatt).

How to Use

A natív kiegészítő lefordításához először menj a gyökérkönyvtárába:

$ cd my_node_addon

A következő lépés az aktuálisplatformnak megfelelő projektépítési fájlok generálása. Ehhez használd a configure-t:

$ node-gyp configure

Megjegyzés: A configure lépés a binding.gyp fájlt keresi az aktuális könyvtárban a feldolgozáshoz. A binding.gyp fájl létrehozására vonatkozó utasításokat lásd alább.

Most már vagy egy Makefile (Unix platformokon) vagy egy vcxproj fájl (Windowson) lesz a build/ könyvtárban. Ezután hívd meg a build parancsot:

$ node-gyp build

Most már megvan a lefordított .node kötésfájlod! A lefordított kötések a build/Debug/ vagy build/Release/ könyvtárba kerülnek, a build módtól függően. Ezen a ponton megkövetelheted a .node fájlt a Node-dal, és futtathatod a teszteket!

Megjegyzés: A kötésfájl Debug buildjének létrehozásához add át a --debug (vagy-d) kapcsolót, amikor a configure vagy build parancsot futtatod.

A “binding.gyp” fájl

Régebben, amikor a node node-waf volt, egy wscript fájlt kellett írnod. Ezt helyettesíti a binding.gyp fájl, amely JSON-szerű formátumban írja le a modulod felépítéséhez szükséges konfigurációt. Ez a fájl a csomagod gyökerébe kerül, a package.json fájl mellé.

Egy csupasz gyp fájl, amely alkalmas egy node addon építésére, így néz ki:

{ "targets": } ]}

Néhány további forrás a gyp fájlok írásához:

  • “Hello World” node addon példa
  • gyp felhasználói dokumentáció
  • gyp input formátum referencia
  • “binding.gyp” files out in the wild wiki oldal

Parancsok

node-gyp a következő parancsokra válaszol:

.

Command Description
build Invokál make/msbuild.exe és felépíti a natív addont
clean Eltávolítja bármelyik build dir-t, ha létezik
configure Generálja a projekt build fájljait az aktuális platformhoz
rebuild Futtatja “clean”, “configure” és “build” egymás után
install Installálja a csomópontfejlesztési fejlécfájlokat az adott verzióhoz
list Listázza az aktuálisan telepített csomópontfejlesztési fájlverziókat
remove Eltávolítja az adott verzióhoz tartozó node fejlesztési fejlécfájlokat

Licenc

(The MIT License)

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

Az engedélyt ezennel megadom, a szoftver és a kapcsolódó dokumentációs fájlok (“Szoftver”) másolatát megszerző bármely személy számára, hogy a Szoftverrel korlátozás nélkül kereskedjen, beleértve korlátozás nélkül a Szoftver használatának, másolásának, módosításának, egyesítésének, közzétételének, terjesztésének, allicencelésének és/vagy másolatainak értékesítésének jogát, valamint a Szoftver címzettjeinek engedélyezését, az alábbi feltételek mellett:

A fenti szerzői jogi közleményt és ezt az engedélyezési közleményt a Szoftver minden példányának vagy jelentős részének tartalmaznia kell.

A SZOFTVERT ÚGY NYÚJTJUK, AHOGY VAN, BÁRMIFÉLE KIFEJEZETT VAGY HALLGATÓLAGOS GARANCIA NÉLKÜL, BELEÉRTVE, DE NEM KIZÁRÓLAGOSAN A SZAVATOSSÁGOT A FORGALOMKÉPESSÉGRE, A MEGHATÁROZOTT CÉLRA VALÓ ALKALMASSÁGRA ÉS A JOGSÉRTÉSMENTESSÉGRE VONATKOZÓAN.A SZERZŐK VAGY A SZERZŐI JOGOK JOGOSULTJAI SEMMILYEN ESETBEN NEM VÁLLALNAK FELELŐSSÉGET SEMMILYEN KÖVETELÉSÉRT, KÁRÉRT VAGY EGYÉB FELELŐSSÉGÉRT, AKÁR SZERZŐDÉSES, AKÁR KÁRTÉRÍTÉSI VAGY EGYÉB KERESET ALAPJÁN, AMELY A SZOFTVERBŐL, A SZOFTVER HASZNÁLATÁBÓL VAGY A SZOFTVERREL KAPCSOLATOS EGYÉB ÜGYLETEKBŐL ERED, VAGY AZZAL ÖSSZEFÜGGÉSBEN ÁLL FENN.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.