Node.js native addon build tool

node-gyp je multiplatformní nástroj příkazového řádku napsaný v Node.js pro kompilacinative addon modulů pro Node.js, který odstraňuje problémy s různými rozdíly v kompilačních platformách. Jedná se o náhradu za program node-waf, který je pro node v0.8 odstraněn. Pokud máte nativní doplněk pro node, kterýstále obsahuje soubor wscript, pak byste určitě měli přidat soubor binding.gyppro podporu nejnovějších verzí node.

Podporováno je více cílových verzí node (tj. 0.8, 0.9, 0.10, …, 1.0,atd.), bez ohledu na to, jaká verze node je ve vašem systému skutečně nainstalována(node-gyp stáhne potřebné vývojové soubory pro cílovou verzi).

Vlastnosti:

  • Snadné použití, konzistentní rozhraní
  • Stejné příkazy pro sestavení modulu na každé platformě
  • Podpora více cílových verzí Node

Instalace

Můžete instalovat pomocí npm:

$ npm install -g node-gyp

Budete také potřebovat nainstalovat:

  • Na Unixu:
    • python (v2.7 doporučeno, v3.x.x není podporováno)
    • make
    • Vhodný řetězec nástrojů pro překladač C/C++, například GCC
  • Na Windows:
    • Python (v2.7.3 doporučeno, v3.x.x není podporováno)
    • V systému Windows XP/Vista/7:
      • Microsoft Visual Studio C++ 2010 (dobře funguje verze Express)
      • Pro 64bitová sestavení uzlů a nativních modulů budete potřebovat také 64bitový SDK pro Windows 7
        • Pokud se instalace nezdaří, zkuste nejprve odinstalovat všechny nainstalované C++ 2010 x64&x86 Redistributable.
      • Pokud se zobrazí chyby, že nejsou nainstalovány 64bitové kompilátory, budete možná potřebovat také aktualizaci kompilátoru pro Windows 7 SDK.1
    • Windows 7/8:
      • Microsoft Visual Studio C++ 2012 for Windows Desktop (dobře funguje verze Express)

Poznamenejte, že OS X je jen příchutí Unixu, a proto potřebuje python, make a C/C++.Snadný způsob, jak je získat, je nainstalovat XCode od společnosti Apple,a pak pomocí něj nainstalovat nástroje příkazového řádku (v části Předvolby -> Stažené soubory).

Jak používat

Pro kompilaci nativního doplňku nejprve přejděte do jeho kořenového adresáře:

$ cd my_node_addon

Dalším krokem je vygenerování příslušných souborů pro sestavení projektu pro aktuálníplatformu. K tomu použijte configure:

$ node-gyp configure

Poznámka: Krok configure hledá v aktuálním adresáři soubor binding.gyp, který má zpracovat. Pokyny k vytvoření souboru binding.gyp naleznete níže.

Nyní budete mít v adresáři build/ buď soubor Makefile (na platformách Unix), nebo vcxproj(na platformách Windows). Dále vyvolejte příkaz build:

$ node-gyp build

Teď máte zkompilovaný soubor s vazbami .node! Zkompilované vazby končív build/Debug/ nebo build/Release/, v závislosti na režimu sestavení. V tuto chvíli můžete soubor .node vyžadovat pomocí uzlu a spustit testy!

Poznámka: Chcete-li vytvořit sestavení souboru vazeb v režimu Debug, předejte při spuštění příkazu configure nebo build přepínač --debug (nebo-d).

Soubor „binding.gyp“

Předtím, když měl uzel node-waf, jste museli napsat soubor wscript. Ten nahrazuje soubor binding.gyp, který popisuje konfiguracipro sestavení modulu ve formátu podobném JSON. Tento soubor se umístí do kořenového adresáře vašeho balíčku vedle souboru package.json.

Barebone gyp soubor vhodný pro sestavení doplňku uzlu vypadá takto:

{ "targets": } ]}

Několik dalších zdrojů pro psaní gyp souborů:

  • „Hello World“ příklad doplňku uzlu
  • gyp uživatelská dokumentace
  • gyp reference formátu vstupu
  • „binding.gyp“ soubory out in the wild wiki page

Příkazy

node-gyp reaguje na následující příkazy:

.

.

Příkaz Popis
build vyvolá make/msbuild.exe a sestaví nativní doplněk
clean Odstraní jakýkoli build dir, pokud existuje
configure Vytvoří soubory pro sestavení projektu pro aktuální platformu
rebuild Spustí „čistý“, „configure“ a „build“ všechny za sebou
install Instaluje vývojové hlavičkové soubory uzlu pro danou verzi
list Seznam aktuálně nainstalovaných verzí vývojových souborů uzlu
remove Odstraní vývojové hlavičkové soubory uzlu pro danou verzi

Licence

(The MIT License)

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

Povolení je tímto uděleno, bezplatně každé osobě, která získá kopii tohoto softwaru a souvisejících dokumentačních souborů (dále jen „software“), nakládat se softwarem bez omezení, včetněbez omezení práv používat, kopírovat, upravovat, slučovat, publikovat,distribuovat, poskytovat sublicence a/nebo prodávat kopie softwaru, a umožnit osobám, kterým je software poskytnut, aby tak činily, za následujících podmínek:

Výše uvedené oznámení o autorských právech a toto oznámení o povolení musí být obsaženo ve všech kopiích nebo podstatných částech softwaru.

SOFTWARE JE POSKYTOVÁN „TAK, JAK JE“, BEZ JAKÝCHKOLI ZÁRUK, VÝSLOVNÝCH NEBO PŘEDPOKLÁDANÝCH, MIMO JINÉ VČETNĚ ZÁRUK PRODEJNOSTI, VHODNOSTI PRO URČITÝ ÚČEL A NEPORUŠOVÁNÍ PRÁV.

AUTOŘI ANI DRŽITELÉ AUTORSKÝCH PRÁV V ŽÁDNÉM PŘÍPADĚ NEODPOVÍDAJÍ ZA JAKÉKOLI NÁROKY, ŠKODY NEBO JINOU ODPOVĚDNOST, AŤ UŽ V RÁMCI SMLUVNÍHO, DELIKTNÍHO NEBO JINÉHO ŘÍZENÍ, VYPLÝVAJÍCÍ Z TOHOTO SOFTWARU NEBO V SOUVISLOSTI S NÍM NEBO S JEHO POUŽÍVÁNÍM ČI JINÝM NAKLÁDÁNÍM S NÍM.

SOFTWARE JE POSKYTOVÁN V PODOBĚ, V JAKÉ JE.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.