Cum să gestionați reconstruirea Node-Gyp care nu reușește pe Mac (04.23.24)

node-gyp este un instrument inteligent care permite dezvoltatorilor să compileze module de completare native Node în mai multe platforme. Este foarte popular și utilizat pe scară largă astăzi, deci este adesea inclus ca dependență pentru majoritatea pachetelor NPM.

Pe majoritatea sistemelor de operare, node-gyp nu cauzează nicio problemă. Instalarea node-gyp și restul pachetelor NPM funcționează de obicei fără probleme și eficient. Cu toate acestea, acest lucru nu este valabil pentru toți utilizatorii. Unii dezvoltatori au raportat că au avut probleme la reconstruirea nodului-gyp pe macOS, rezultând o experiență mai puțin stelară pentru dezvoltatorii afectați. Această eroare duce, de asemenea, la o multitudine de capcane și permite mai multe căi pentru ca lucrurile să meargă prost.

Această problemă nu este ceva nou. Dezvoltatorii care folosesc versiuni mai vechi ale macOS-ului au mai întâmpinat această eroare. Odată cu lansarea macOS Catalina, mai mulți dezvoltatori au raportat, de asemenea, că eșecul reconstruirii nodului-gyp pe Mac după actualizarea la noua versiune macOS. Această eroare a împiedicat dezvoltatorii să instaleze pachetele node-gyp de care au nevoie.

Dacă ați întâmpinat această eroare, veți înțelege cât de frustrant poate fi eșecul de reconstruire a nodului-gyp pe Mac. Nu puteți merge mai departe cu aplicația sau dezvoltarea de software decât dacă remediați această eroare. Din fericire, am făcut toată munca pentru dvs. Dacă vi se pare imposibil să mergeți mai departe cu proiectul dvs. din cauza acestei erori, puteți încerca oricare dintre soluțiile enumerate mai jos pentru a o rezolva.

Ce este Node-Gyp?

node-gyp este un instrument folosit pentru a compila Node.js Addons, care sunt module Node.js native scrise în C sau C ++. Aceste module trebuie să fie compilate pe mașina dvs. utilizând un instrument precum node-gyp. Node-gyp funcționează pe Windows, MacOS și Linux.

Node-gyp este în general ușor de utilizat datorită interfeței sale consistente. De asemenea, puteți utiliza aceleași comenzi pentru a vă construi sau reconstrui modulul pe platforme diferite. Node-gyp acceptă, de asemenea, mai multe versiuni țintă ale Node.

Dacă primiți o eroare npm gyp pe Mojave sau versiuni anterioare de macOS, trebuie să verificați din nou cerințele pentru ca node-gyp să funcționeze.

Iată cerințele pe care trebuie să le instalați pentru ca node-gyp să funcționeze pe macOS:

  • Python v2.7, v3.5, v3.6 sau v3. 7
  • Xcode - un utilitar care permite dezvoltatorilor să creeze aplicații pe macOS, iOS și iPadOS.

De asemenea, trebuie să instalați versiunea corectă a liniei de comandă Xcode Instrumente, care fac parte din suita XCode de instrumente și biblioteci de dezvoltare software.

Pentru a instala instrumentele pentru linia de comandă Xcode, urmați instrucțiunile de mai jos:

  • Porniți Xcode pe Mac.
  • Selectați Preferințe din meniul Xcode.
  • Sub panoul General , faceți clic pe Descărcări/>
  • Când se deschide fereastra Descărcări, faceți clic pe tabul Componente .
  • Faceți clic pe butonul Instalare de lângă Instrumente linie de comandă.
  • Conectați-vă utilizând contul dvs. Apple Developer pentru a finaliza procesul de instalare.
  • Dacă rulați macOS Catalina, puteți descărca de aici versiunea corespunzătoare a Instrumentelor pentru linia de comandă pentru Xcode pentru versiunea dvs. Catalina. Pentru macOS 10.15.3, numele fișierului ar trebui să fie Command_Line_Tools_for_Xcode_11.3.1.dmg. Odată ce ați instalat componentele corecte, ar trebui să puteți construi folosind node-gyp cu succes. Dacă obțineți o reconstruire a nodului-gyp eșuată pe Mac, trebuie să examinați aceste componente pentru a afla ce nu a funcționat corect.

    Cum se rezolvă eroarea de reconstruire a nodului-gyp

    Instalarea unui modul de nod este un proces ușor. Trebuie doar să rulați comenzi specifice și ar trebui să fiți bine să mergeți. Dacă întâmpinați eșecuri de reconstruire node-gyp pe Mac, trebuie să faceți un pas înapoi pentru a afla ce s-a întâmplat.

    Dar înainte de a face acest lucru, iată câțiva pași de bază de depanare pe care ar trebui să îi încercați:

  • Reporniți computerul pentru a scăpa de orice erori temporare care ar putea afecta sistemul dvs.
  • Închideți toate aplicațiile inutile pentru a vă elibera reimgerile computerului.
  • Dezactivați temporar software-ul de securitate, cum ar fi programele antivirus sau anti-malware.
  • Curățați sistemul utilizând aplicația de reparații Mac .
  • Dacă Încă mai primiți o eroare de reconstruire a nodului-gyp, aruncați o privire la soluțiile de mai jos și vedeți care funcționează pentru dvs.

    Remediați numărul 1: Verificați de două ori componentele necesare.

    Primul lucru pe care trebuie să-l faceți atunci când primiți o eroare npm gyp pe Mojave sau altă versiune macOS este să verificați de două ori cerințele de instalare ale nodului-gyp. După cum sa menționat în secțiunea de mai sus, aveți nevoie de trei componente pentru ca acesta să funcționeze și anume:

    • Python
    • Xcode
    • Instrumente pentru linia de comandă Xcode

    Nu uitați să instalați limbajele C și C ++, care vor fi necesare pentru a compila modulele. Dacă oricare dintre acestea lipsește sau nu funcționează, veți primi cu siguranță eroarea de refacere a reconstruirii. Reinstalarea componentei lipsă sau defectă ar trebui să vă ajute să remediați problema.

    Remediați numărul 2: actualizați componentele Node-Gyp.

    Uneori instalarea acestor componente nu este suficientă. Trebuie să vă asigurați că utilizați versiunea corectă pentru macOS. Puteți alege între Python v2.7, v3.5, v3.6 sau v3.7, în funcție de versiunea care funcționează pentru dvs. Pentru Xcode, îl puteți descărca de pe acest link. De asemenea, trebuie să instalați cea mai recentă versiune de node-gyp pentru orice eventualitate.

    Remediați numărul 3: efectuați un test de acid.

    Puteți verifica dacă instrumentele pentru linia de comandă Xcode de pe computerul dvs. sunt instalate corect și vor funcționa. cu node-gyp, puteți rula un test acid urmând acești pași:

  • Pe Xcode, executați această comandă:
    / usr / sbin / pkgutil –packages | grep CL
  • Dacă vedeți com.apple.pkg.CLTools_Executables ca listat, atunci nu veți avea nicio problemă. Dacă nu este, atunci acest test a eșuat și trebuie să îl reinstalați.
  • Rulați următoarea comandă:
    / usr / sbin / pkgutil –pkg-info com.apple.pkg. CLTools_Executables
  • Ar trebui să vedeți versiunea: 11.0.0 (sau o versiune ulterioară) în listă. Dacă nu este, atunci și acest test a eșuat și trebuie să reinstalați.
  • Fix # 4: Comutați la o altă versiune Python.

    Mulți dezvoltatori afectați au observat că schimbarea versiunii Python folosită mediul activ a ajutat la rezolvarea problemei pentru ei. Acest lucru are legătură cu compatibilitatea dintre versiunea macOS, versiunea Node și versiunea Python pe care o utilizați. Unii utilizatori au descoperit că versiunile mai vechi ale Python, cum ar fi v2.7, sunt mai stabile decât cele mai noi. Experimentați cu diferite versiuni și vedeți care dintre acestea funcționează pentru dvs.

    Rezumat

    Obținerea eșecului de reconstruire a nodului-gyp pe Mac poate fi o bătaie de cap și a afla ce a mers prost poate fi o pierdere de timp imensă. Deci, dacă întâmpinați această eroare, consultați ghidul de mai sus pentru a ști exact ce trebuie să faceți pentru a remedia eroarea.


    Video YouTube.: Cum să gestionați reconstruirea Node-Gyp care nu reușește pe Mac

    04, 2024