Node.js:n natiivien lisäosien rakentamistyökalu

node-gyp on Node.js:llä kirjoitettu komentorivityökalu Node.js:n natiivien lisäosamoduulien kääntämiseen Node.js:lle. Se on korvaaja node-wafohjelmalle, joka on poistettu node v0.8:lle. Jos sinulla on natiivi lisäosa nodea varten, jossa on edelleen wscript-tiedosto, sinun pitäisi ehdottomasti lisätä binding.gyp-tiedosto tukemaan uusimpia node-versioita.

Noden useita kohdeversioita tuetaan (eli 0.8, 0.9, 0.10, …, 1.0,jne.) riippumatta siitä, mikä node-versio on todellisuudessa asennettu järjestelmääsi(node-gyp lataa kohdeversiota varten tarvittavat kehitystiedostot).

Ominaisuudet:

  • Helppokäyttöinen, yhdenmukainen käyttöliittymä
  • Samat komennot moduulisi rakentamiseen jokaisella alustalla
  • Tukee useita Noden kohdeversioita

Asennus

Voit asentaa npm:lla:

$ npm install -g node-gyp

Tarvitset myös asennuksen:

  • Unixille:
    • python (v2.7 suositellaan, v3.x.x ei tueta)
    • make
    • Kunnollinen C/C++-kääntäjätyökaluketju, kuten GCC
  • Windowsille:
    • Python (v2.7.3 suositellaan, v3.x.x ei tueta)
    • Windows XP/Vista/7:
      • Microsoft Visual Studio C++ 2010 (Express-versio toimii hyvin)
      • Solmujen ja natiivimoduulien 64-bittisiä versioita varten tarvitset myös Windows 7:n 64-bittisen SDK:n
        • Jos asennus ei onnistu, yritä ensin poistaa asentamasi C++ 2010 x64&x86 Redistributable.
      • Jos saat virheilmoituksia siitä, että 64-bittisiä kääntäjiä ei ole asennettu, saatat tarvita myös Windows 7 SDK:n kääntäjien päivityksen.1
    • Windows 7/8:
      • Microsoft Visual Studio C++ 2012 for Windows Desktop (Express-versio toimii hyvin)

Huomaa, että OS X on vain Unixin makuvaihtoehto, joten se tarvitsee python-, make-ohjelmat ja C/C++:n.Helppo tapa hankkia nämä on asentaa XCode Applelta,ja asentaa sen avulla komentorivityökalut (kohdassa Asetukset -> Lataukset).

How to Use

Kääntääksesi natiivin lisäosan, siirry ensin sen juurihakemistoon:

$ cd my_node_addon

Seuraavana askeleena luodaan projektin rakentamistiedostot nykyiselle alustalle. Käytä siihen configure:

$ node-gyp configure

Huomautus: Vaihe configure etsii nykyisenhakemiston binding.gyp-tiedostoa käsiteltäväksi. Katso alla olevat ohjeet binding.gyp-tiedoston luomiseen.

Nyt sinulla on joko Makefile (Unix-alustoilla) tai vcxproj-tiedosto(Windowsissa) build/-hakemistossa. Seuraavaksi kutsu komentoa build:

$ node-gyp build

Nyt sinulla on käännetty .node sidostiedosto! Käännetyt sidostiedostot päätyvät tiedostoon build/Debug/ tai build/Release/, riippuen rakennustilasta. Tässä vaiheessa voit vaatia .node-tiedoston Noden kanssa ja suorittaa testisi!

Huomaa: Jos haluat luoda Debug-rakentamisen sidostiedostosta, välitä --debug (tai -d) -kytkin, kun suoritat joko configure– tai build-komentoa.

Tiedosto ”sitoumus.gyp”

Viime aikoina, kun Nodella oli käytössäsi node-waf-ominaisuudet, jouduit kirjoittamaan wscript-tiedoston. Sen tilalle on binding.gyp-tiedosto, joka kuvaa konfiguraation moduulisi rakentamiseksi JSON-tyyppisessä muodossa. Tämä tiedosto sijoitetaan pakettisi juureen package.json-tiedoston rinnalle.

Node-lisäosan rakentamiseen sopiva pelkkä gyp-tiedosto näyttää seuraavalta:

{ "targets": } ]}

Joitakin lisäresursseja gyp-tiedostojen kirjoittamiseen:

  • ”Hello World” node-lisäosan esimerkki
  • gyp-käyttäjän dokumentaatio
  • gyp-syöttöformaattireferenssi
  • ”binding.gyp” files out in the wild wiki page

Commands

node-gyp vastaa seuraaviin komentoihin:

.

Komento Kuvaus
build Kutsuu make/msbuild.exe ja rakentaa natiivin lisäosan
clean Poistaa minkä tahansa build dir:n, jos se on olemassa
configure Generoi projektin rakennustiedostot nykyiselle alustalle
rebuild Käynnistää ”clean”, ”configure” ja ”build” kaikki peräkkäin
install Asenntaa node-kehitystiedostojen otsikkotiedostot annetulle versiolle
list Luettelee tällä hetkellä asennetut node-kehitystiedostojen versiot
remove Poistaa annetun version node-kehitysotsikkotiedostot

Lisenssi

(MIT-lisenssi)

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

Lisenssioikeus myönnetään täten, maksutta jokaiselle henkilölle, joka hankkii kopion tästä ohjelmistosta ja siihen liittyvistä dokumentaatiotiedostoista (jäljempänä ’ohjelmisto’), käsitellä ohjelmistoa rajoituksetta, mukaan lukien rajoituksetta oikeudet käyttää, kopioida, muuttaa, yhdistää, julkaista, levittää, alilisensoida ja/tai myydä ohjelmistokopioita, ja sallia henkilöille, joille ohjelmisto on toimitettu, tehdä niin seuraavin ehdoin:

Yllä oleva tekijänoikeusilmoitus ja tämä lupailmoitus on sisällytettävä kaikkiin ohjelmiston kopioihin tai olennaisiin osiin.

OHJELMISTO TOIMITETAAN SELLAISENA KUIN SE ON, ILMAN MINKÄÄNLAISTA TAKUUTA, NIMENOMAISTA TAI EPÄSUORAA, MUKAAN LUKIEN, MUTTA EI RAJOITTUEN, TAKUUSEEN MYYNTIKELPOISUUDESTA, SOVELTUVUUDESTA TIETTYYN TARKOITUKSEEN JA LOUKKAAMATTOMUUDESTA.TEKIJÄT TAI TEKIJÄNOIKEUKSIEN HALTIJAT EIVÄT MISSÄÄN TAPAUKSESSA OLE VASTUUSSA MISTÄÄN VAHINGONKORVAUSVAATIMUKSISTA, VAHINGONKORVAUKSISTA TAI MUUSTA KORVAUSVASTUUSTA, RIIPPUMATTA SIITÄ, ONKO KYSE SOPIMUS-, VAHINGONKORVAUS- TAI MUUSTA VAHINGONKORVAUSVAATIMUKSESTA, JOKA SYNTYY OHJELMISTOSTA TAI SEN KÄYTÖSTÄ TAI MUUSTA KÄSITTELYSTÄ, TAI JOKA ON YHTEYDESSÄ OHJELMISTOON TAI OHJELMISTON KÄYTTÖÖN TAI MUUHUN KÄSITTELYYN LIITTYEN.

Vastaa

Sähköpostiosoitettasi ei julkaista.