नोड-जिप क्या है


123

क्या कोई मुझे समझा सकता है node-gypकि Node.JS पैकेज बनाने के लिए मेरी सिस्टम फ़ाइलों का क्या और क्यों उपयोग होता है।

  1. यदि Ii एक नोड परियोजना का निर्माण करता है और इसका node-gypआंतरिक रूप से उपयोग किया जाता है ।
  2. फिर मैं बस उस प्रोजेक्ट को टारगेट कर एक अलग सिस्टम में ले गया
  3. मैं इसे वहां से हटा देता हूं और इसका उपयोग करने की कोशिश करता हूं

क्या यह काम करेगा?


17
इसका वर्णन इसके github पेज पर किया गया है: github.com/nodejs/node-gyp । असल में, node-gypजैसा है make। यह C ++ परियोजनाओं की संकलन प्रक्रिया को नियंत्रित करने के लिए उपयोग किया जाने वाला उपकरण है। केवल, इसे विशेष रूप से नोड.जेएस एडन्स (C ++ में लिखे गए मॉड्यूल) के लिए डिज़ाइन किया गया है। तो अगर यह एक ही CPU का उपयोग करता है, तो एक अलग सिस्टम पर जाना काम कर सकता है। किसी भिन्न OS या CPU पर जाना (उदाहरण के लिए x86 से ARM तक) काम नहीं करेगा। लिनक्स के लिए, एक ही डिस्ट्रो के अलग-अलग वर्जन के एक अलग डिस्ट्रो पर जाने से काम नहीं हो सकता है या नहीं। मैं 100% यकीन नहीं कर रहा हूँ अगर नोड के एक अलग संस्करण में जा रहा हूँ। जेएस काम करेगा
स्लीबेटमैन

2
जब मैं दौड़ता हूं तो yarn why node-gypयह वापस आ जाता है: क्योंकि node-sass, इसलिए मुझे यकीन है कि इसके अन्य उपयोग भी हैं, लेकिन यह आपके प्रोजेक्ट में हो सकता है यदि आप या कोई व्यक्ति जिसे आप प्यार करते हैं, का निदान किया गया है sass
Kzqai

@slebetman अलग नोड संस्करण के लिए काम नहीं करेगा, यह सुनिश्चित नहीं है कि यह 100% सच है, फिर भी मेरे अनुभव से, आपको नोडज संस्करण को अपग्रेड करने के बाद पुराने नोड-जिप को हटाने की आवश्यकता है और मॉड्यूल स्थापित होने के दौरान यह पृष्ठभूमि में स्वचालित रूप से फिर से निर्मित होता है।
लुकास लीसिस

जवाबों:


134

node-gypएक उपकरण है जो Node.js Addons को संकलित करता है। Node.js Addons मूल Node.js मॉड्यूल हैं, जो C या C ++ में लिखे गए हैं, इसलिए इसे आपकी मशीन पर संकलित करने की आवश्यकता है। नोड-जिप जैसे उपकरणों के साथ संकलित किए जाने के बाद, उनकी कार्यक्षमता require()को किसी भी अन्य नोड.जेएस मॉड्यूल के माध्यम से एक्सेस किया जा सकता है ।

यदि आप वह करते हैं जो आपने सुझाया है कि मॉड्यूल काम नहीं करेगा, तो आपको इसे उस सिस्टम पर नोड-जिप के साथ संकलित / निर्माण करना होगा, जिसे आपने प्रोग्राम में स्थानांतरित किया था।

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

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


28
मैं मानता हूँ, मैं एक मॉड्यूल नहीं npmjs देखता हूं जो नोड-जिप का उपयोग करता है I आमतौर पर 10 मील दूर
चलता

38
यह रोमांचक है कि आप आजकल NodeJS में लिखित एक (क्या लगता है) अपेक्षाकृत सरल वेब ऐप को क्लोन कर सकते हैं, और अचानक आपको C और C ++ में लिखे देशी कोडन को संकलित करने के लिए सॉफ्टवेयर डाउनलोड करना होगा। सबसे अच्छा हिस्सा यह है कि जब आप समस्याओं में भाग लेते हैं, और आप इसे हल करने के लिए अपने वेब डिज़ाइन कौशल के साथ वास्तव में जानते हैं।
जिम आहो

3
@ मिस्टर-प्रोग्राम्स यह एक बंधन के माध्यम से जुड़ा हुआ है, जिसे आपके द्वारा भी लिखा जाना चाहिए
vuza

2
@JimAho आदर्श रूप से, और अक्सर, कोड केवल ब्लैक-बॉक्सेड होता है। अच्छा यह है कि आप पार्स xml जैसी विशिष्ट चीजों को करने के लिए तेज और अच्छी तरह से समर्थित उपकरणों का उपयोग कर सकते हैं, और एक जेएस पोर्ट के लिए इंतजार नहीं करना होगा जो धीमा या अधिक टूटा हो सकता है। उस ने कहा, जब भी संभव हो मैं देशी js को पसंद करता हूं, लेकिन मुझे यकीन नहीं है कि स्थिति अच्छी तरह से स्थापित है। इसके अलावा, C / C ++ किसी भी मामले के लिए बहुत पोर्टेबल होना चाहिए जो उद्देश्यपूर्ण रूप से ओएस पर निर्भर (सूचनाओं की तरह) नहीं है। इसके अलावा, बग प्रवण पैकेजों में बग के स्रोत की परवाह किए बिना व्यापक रूप से अपनाने को नहीं देखा गया है।
एडम टॉले

3
FYI करें, मेरा मानना ​​है कि "जिप" आपकी परियोजनाओं को उत्पन्न करने के लिए छोटा है
टॉम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.