194 votes

Qu'est-ce que le noeud-gyp

Quelqu'un peut-il m'expliquer ce qu'est node-gyp et pourquoi il utilise mes fichiers système pour construire des paquets Node.JS.

  1. Si je construis un projet node et qu'il utilise node-gyp en interne.
  2. Ensuite, j'ai goudronné ce projet et je suis passé à un autre système.
  3. Je l'ai décompressé et j'ai essayé de l'utiliser.

Cette approche fonctionnera-t-elle ?

21 votes

Il est décrit sur sa page github : github.com/nodejs/node-gyp . En principe, node-gyp c'est comme make . Il s'agit d'un outil utilisé pour contrôler le processus de compilation des projets C++. Seulement, il est conçu spécifiquement pour les addons node.js (modules écrits en C++). Le passage à un autre système peut donc fonctionner s'il utilise le même processeur. Le passage à un système d'exploitation ou à un processeur différent (par exemple de x86 à ARM) ne fonctionnera pas. Pour Linux, le passage à une autre distro ou à une autre version de la même distro peut fonctionner ou non. Je ne suis pas sûr à 100% que le passage à une version différente de node.js fonctionne.

8 votes

Quand je cours yarn why node-gyp il revient avec : parce que node-sass Je suis donc sûr qu'il a d'autres usages, mais il peut faire partie de votre projet si vous ou l'un de vos proches a été diagnostiqué comme souffrant d'un cancer du sein. sass .

0 votes

@slebetman migrer vers une version différente de node ne fonctionnera pas, je ne suis pas sûr que ce soit vrai à 100%, mais d'après mon expérience, vous devez supprimer l'ancien node-gyp après avoir mis à jour la version de nodejs et pendant l'installation des modules, il est reconstruit automatiquement en arrière-plan.

207voto

vuza Points 724

node-gyp est un outil qui compile les addons Node.js. Les addons Node.js sont des modules Node.js natifs, écrits en C ou C++, qui doivent donc être compilés sur votre machine. Après avoir été compilés avec des outils comme node-gyp, on peut accéder à leurs fonctionnalités via require() comme tout autre module Node.js.

Si vous faites ce que vous avez suggéré, le module ne fonctionnera pas, vous devrez le compiler/construire avec node-gyp sur le système où vous avez déplacé le programme.

node-gyp : https://github.com/nodejs/node-gyp

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

69 votes

Je dois admettre que lorsque je vois un module sans npmjs qui utilise node-gyp, je m'enfuis généralement à 15 km.

117 votes

Il est passionnant de constater qu'aujourd'hui, vous pouvez cloner une application web (qui semble relativement simple) écrite en NodeJS et que, tout à coup, vous devez télécharger un logiciel pour compiler du code natif écrit en C et C++. Le meilleur moment est celui où vous rencontrez des problèmes, et où vous savez exactement ce que vous devez faire avec vos compétences en conception web pour les résoudre.

0 votes

Donc vous pouvez utiliser node-gyp pour exécuter n'importe quel code c/c++ ? est-ce transformé en javascript ou exécuté tel quel et connecté par un binding ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X