node-gyp · npm
संदेश
gyp ERR! build error
इसका मतलब
किसी निर्भरता में C या C++ का हिस्सा है जिसे install के समय आपकी मशीन पर संकलित करना पड़ता है, और वह संकलन विफल हुआ — node-gyp को एक compiler और python चाहिए। ऐसा तब होता है जब कोई build toolchain लगी ही न हो, या जब package आपके node से पुराना हो और header मेल न खाएँ। toolchain लगाएँ: macOS पर xcode-select --install से command line tools, Debian या Ubuntu पर build-essential और python3, Windows पर Visual Studio का C++ workload। यदि package का नया version आपके node के लिए पहले से बना binary देता है, तो build वातावरण सुधारने से package को उन्नत करना बहुत तेज़ है।
सुधार
इसका एक-लाइन कमांड नहीं है। व्याख्या में लिखा है कि क्या देखना है।
- कौन देता है
- node-gyp
- npm
- 20
npm में कारण अंतिम छह npm ERR! पंक्तियों में नहीं, पहली code XXXX पंक्ति में लिखा होता है, और जब गड़बड़ी आपके कोड की जगह dependency के पेड़ या native build से आती है, तो node_modules मिटाकर फिर install करने से आधे मामले सुलझ जाते हैं।
एरर संदेश कैसे पढ़ें
- पहली पंक्ति से पढ़ें। जितना नीचे जाएँगे उतना वह औज़ार के भीतर की बात है; कारण आम तौर पर सबसे ऊपर लिखा होता है।
- फ़ाइल का नाम और पंक्ति संख्या दिखे तो वहीं से शुरू करें — stack का सबसे ऊपरी frame नहीं, बल्कि वह सबसे ऊपरी पंक्ति जिसमें आपकी लिखी फ़ाइल का नाम हो।
- संदेश को जैसा है वैसा खोजें, पर पहले अपने paths और variable नाम हटा दें — वही खोज को अटकाते हैं।
- वही स्थिति औज़ार के हर संस्करण में अलग शब्दों में आती है। नतीजे बेमेल लगें तो संस्करण संख्या भी जोड़ें।
- कोई सुधार चिपकाने से पहले देख लें कि वह क्या फेंक देगा। इनमें कुछ पलटे नहीं जा सकते।
अक्सर पूछे जाने वाले सवाल
Q. “gyp ERR! build error” का क्या मतलब है?
किसी निर्भरता में C या C++ का हिस्सा है जिसे install के समय आपकी मशीन पर संकलित करना पड़ता है, और वह संकलन विफल हुआ — node-gyp को एक compiler और python चाहिए। ऐसा तब होता है जब कोई build toolchain लगी ही न हो, या जब package आपके node से पुराना हो और header मेल न खाएँ। toolchain लगाएँ: macOS पर xcode-select --install से command line tools, Debian या Ubuntu पर build-essential और python3, Windows पर Visual Studio का C++ workload। यदि package का नया version आपके node के लिए पहले से बना binary देता है, तो build वातावरण सुधारने से package को उन्नत करना बहुत तेज़ है।
Q. इसे कैसे ठीक करें?
एक-लाइन कमांड नहीं है। ऊपर की व्याख्या में लिखा है कि क्या देखना है।
Q. यह कौन-सा औज़ार देता है?
node-gyp। यह npm में आता है, और संदेश 4 शब्दों का है।