Sådan håndteres Node-Gyp-genopbygning mislykkes på Mac (04.23.24)

node-gyp er et smukt værktøj, der giver udviklere mulighed for at kompilere native Node-tilføjelsesmoduler på flere platforme. Det er meget populært og meget udbredt i dag, så det er ofte inkluderet som en afhængighed for de fleste NPM-pakker.

På de fleste operativsystemer forårsager node-gyp ikke noget problem. Installation af node-gyp og resten af ​​NPM-pakkerne fungerer normalt problemfrit og effektivt. Dette er dog ikke tilfældet for alle brugere. Nogle udviklere rapporterede, at de havde problemer med at genopbygge node-gyp på macOS, hvilket resulterede i en mindre end fantastisk oplevelse for de berørte udviklere. Denne fejl fører også til et stort antal faldgruber og giver mulighed for, at ting går galt på mange måder.

Dette problem er ikke noget nyt. Udviklere, der bruger ældre versioner af macOS, har stødt på denne fejl før. Med udgivelsen af ​​macOS Catalina rapporterede flere udviklere også, at mislykkedes genopbygning af node-gyp på Mac efter opgradering til den nye macOS-version. Denne fejl har forhindret udviklere i at installere de node-gyp-pakker, som de har brug for.

Hvis du har stødt på denne fejl, forstår du, hvor frustrerende node-gyp-genopbygningen mislykkes på Mac. Du kan ikke komme videre med din app eller softwareudvikling, medmindre du får denne fejl løst. Heldigvis har vi gjort alt arbejdet for dig. Hvis du finder det umuligt at komme videre med dit projekt på grund af denne fejl, kan du prøve en af ​​nedenstående løsninger for at løse det.

Hvad er Node-Gyp?

node-gyp er et værktøj, der bruges til at kompilere Node.js-tilføjelser, som er native Node.js-moduler skrevet i C eller C ++. Disse moduler skal kompileres på din maskine ved hjælp af et værktøj som node-gyp. Node-gyp fungerer på Windows, macOS og Linux.

Node-gyp er generelt let at bruge på grund af dens ensartede grænseflade. Du kan også bruge de samme kommandoer til at opbygge eller genopbygge dit modul på forskellige platforme. Node-gyp understøtter også flere målversioner af Node.

Hvis du får en npm gyp-fejl på Mojave eller tidligere versioner af macOS, skal du dobbelttjekke kravene for, at node-gyp fungerer.

Her er de krav, du skal installere for at node-gyp skal fungere på macOS:

  • Python v2.7, v3.5, v3.6 eller v3. 7
  • Xcode - et værktøj, der giver udviklere mulighed for at oprette apps på macOS, iOS og iPadOS.

Du skal også installere den korrekte version af Xcode Command Line Værktøjer, der er en del af XCodes pakke med softwareudviklingsværktøjer og biblioteker.

For at installere Xcode Command Line Tools skal du følge instruktionerne nedenfor:

  • Start Xcode på din Mac.
  • Vælg Præferencer fra Xcode-menuen.
  • Under panelet Generelt skal du klikke på Downloads
  • Når vinduet Downloads åbnes, klik på fanen Komponenter .
  • Klik på knappen Installer ved siden af ​​ Kommandolinjeværktøjer.
  • Log ind med din Apple Developer-konto for at fuldføre installationsprocessen.
  • Hvis du kører macOS Catalina, kan du downloade den relevante version af Command Line Tools til Xcode til din version af Catalina herfra. I macOS 10.15.3 skal filnavnet være Command_Line_Tools_for_Xcode_11.3.1.dmg. Når du har installeret de korrekte komponenter, skal du være i stand til at bygge ved hjælp af node-gyp med succes. Hvis du får en node-gyp-genopbygning, der fejler på Mac, skal du gennemgå disse komponenter for at finde ud af, hvad der gik galt.

    Sådan løses Node-gyp-genopbygningsfejl

    Installation af et nodemodul er en nem proces. Du skal bare køre bestemte kommandoer, og du skal være god at gå. Hvis du støder på genopbygning af node-gyps mislykkes på Mac, skal du gå tilbage for at finde ud af, hvad der skete.

    Men inden du gør det, er der nogle grundlæggende fejlfindingstrin, du skal prøve:

  • Genstart din computer for at slippe af med eventuelle midlertidige fejl, der kan påvirke dit system.
  • Luk alle unødvendige apps for at frigøre din computers genindleveringer.
  • Deaktiver midlertidigt din sikkerhedssoftware, f.eks. antivirus- eller anti-malware-programmer.
  • Ryd op i dit system ved hjælp af Mac-reparationsapp .
  • Hvis du vi får stadig en node-gyp-genopbygningsfejl, se på nedenstående løsninger og se, hvilken der fungerer for dig.

    Fix nr. 1: Dobbeltkontrol af de krævede komponenter.

    Den første ting du skal bruge gør, når du får en npm gyp-fejl på Mojave eller anden macOS-version, er at dobbelttjekke node-gyps installationskrav. Som nævnt i afsnittet ovenfor har du brug for tre komponenter for at det skal fungere, nemlig:

    • Python
    • Xcode
    • Xcode Command Line Tools

    Glem ikke at installere sprogene C og C ++, som er nødvendige for at kompilere modulerne. Hvis nogen af ​​disse mangler eller ikke fungerer, får du helt sikkert fejl ved genopbygningsfejl. Geninstallation af den manglende eller defekte komponent kan hjælpe med at løse problemet.

    Fix # 2: Opdater dine Node-Gyp-komponenter.

    Nogle gange er det ikke nok at installere disse komponenter. Du skal sikre dig, at du bruger den rigtige version til din macOS. Du kan vælge mellem Python v2.7, v3.5, v3.6 eller v3.7, afhængigt af hvilken version der fungerer for dig. For Xcode kan du downloade den fra dette link. Du skal også installere den nyeste version af node-gyp bare i tilfælde.

    Fix # 3: Udfør en syretest.

    Du kan kontrollere, om Xcode Command Line Tools på din computer er installeret korrekt og fungerer med node-gyp kan du køre en syretest ved at følge disse trin:

  • På Xcode skal du køre denne kommando:
    / usr / sbin / pkgutil –packages | grep CL
  • Hvis du ser com.apple.pkg.CLTools_Executables som angivet, har du ikke noget problem. Hvis det ikke er tilfældet, har denne test mislykkedes, og du skal geninstallere den.
  • Kør den næste kommando:
    / usr / sbin / pkgutil –pkg-info com.apple.pkg. CLTools_Executables
  • Du skal se version: 11.0.0 (eller nyere) som angivet. Hvis det ikke er tilfældet, mislykkedes denne test også, og du skal geninstallere.
  • Fix # 4: Skift til en anden Python-version.

    Mange berørte udviklere bemærkede, at ændring af den version af Python, der blev brugt til aktivt miljø hjalp med at løse problemet for dem. Dette har noget at gøre med kompatibiliteten mellem macOS-versionen, Node-versionen og den Python-version, du bruger. Nogle brugere fandt ud af, at ældre versioner af Python, som f.eks v2.7, er mere stabile end de nyere. Eksperimenter med forskellige versioner, og se, hvilken der fungerer for dig.

    Oversigt

    At mislykkes genopbygning af node-gyp på Mac kan være besværligt at finde ud af, hvad der gik galt, kan være enormt spild af tid. Så hvis du støder på denne fejl, se vejledningen ovenfor, så du ved præcis, hvad du skal gøre for at rette fejlen.


    YouTube Video.: Sådan håndteres Node-Gyp-genopbygning mislykkes på Mac

    04, 2024