2016-09-28 13 views
34

Czy ktoś może mi wyjaśnić, co to jest node-gyp i dlaczego używa moich plików systemowych do budowania pakietów Node.JS.Co to jest node-gyp

  1. Jeśli Ii zbuduje projekt węzła i wewnętrznie użyje węzła-gyp.
  2. Wtedy właśnie smoły tego projektu i przeniósł się do innego systemu
  3. ja rozpakować go tam i spróbować go użyć

Zadziała to podejście?

+7

Jest opisane na swojej stronie github: https://github.com/nodejs/node-gyp. Zasadniczo, 'node-gyp' jest jak' make'. Jest to narzędzie używane do kontrolowania procesu kompilacji projektów C++. Tylko, jest zaprojektowany specjalnie dla dodatków node.js (moduły napisane w C++). Tak więc przejście do innego systemu może działać, jeśli używa tego samego procesora. Przejście na inny system operacyjny lub procesor (na przykład z x86 na ARM) nie będzie działać. W przypadku Linuksa przeniesienie się do innej dystrybucji innej wersji tej samej dystrybucji może lub może nie działać. Nie jestem w 100% pewien, czy przejście do innej wersji pliku node.js zadziałałoby – slebetman

Odpowiedz

38

node-gyp to narzędzie, które kompiluje dodatki Node.js. Node.js Addons to natywne moduły Node.js napisane w języku C lub C++, które w związku z tym muszą zostać skompilowane na twoim komputerze. Po skompilowaniu za pomocą narzędzi takich jak node-gyp, ich funkcjonalność można uzyskać poprzez require(), tak jak każdy inny moduł Node.js.

Jeśli zrobisz to, co sugerujesz, moduł nie będzie działał, będziesz musiał skompilować go/zbudować z węzłem-gyp w systemie, do którego został przeniesiony program.

węzła gyp: https://github.com/nodejs/node-gyp

node.js Addons: https://nodejs.org/api/addons.html