2016-09-28 101 views
34

誰能給我解釋一下什麼是node-gyp以及爲什麼它使用我的系統文件來構建Node.js的包。什麼是節點GYP

  1. 如果Ii構建節點項目並且它在內部使用了node-gyp。
  2. 然後我焦油該項目,並移動到不同的系統
  3. 我解壓它那裏,並嘗試使用它

請問這種方法的工作?

+7

它的GitHub的網頁上描述:https://github.com/nodejs/node-gyp。基本上,'node-gyp'就像'make'。它是一個用於控制C++項目編譯過程的工具。只有它專門爲node.js插件(以C++編寫的模塊)而設計。因此,如果使用相同的CPU,轉到其他系統可能會有效。移到不同的操作系統或CPU(例如從x86到ARM)將不起作用。對於Linux,移動到不同版本的同一發行版的不同發行版可能會或可能無法正常工作。如果轉移到不同版本的node.js可行,我不是100%確定的 – slebetman

回答

38

節點-GYP是一個工具,它編譯Node.js的擴展中心。 Node.js的擴展中心是當地的Node.js模塊,用C或C++,它因此需要你的機器上編譯。他們用相似的節點GYP工具編譯後,它們的功能可以通過以下方式訪問需要(),就像任何其他的Node.js模塊。

如果你做你的建議的模塊將無法正常工作,您需要編譯/與你移動的程序在系統上的節點GYP構建它。

節點GYP:https://github.com/nodejs/node-gyp

Node.js的附加組件:https://nodejs.org/api/addons.html