Hvordan håndtere Node-Gyp-gjenoppbygging mislykkes på Mac (04.18.24)

node-gyp er et smidig verktøy som lar utviklere kompilere innfødte Node-tilleggsmoduler på flere plattformer. Det er veldig populært og mye brukt i dag, så det er ofte inkludert som en avhengighet for de fleste NPM-pakker.

På de fleste operativsystemer forårsaker node-gyp ingen problemer. Installasjon av node-gyp og resten av NPM-pakkene fungerer vanligvis jevnt og effektivt. Dette er imidlertid ikke tilfelle for alle brukere. Noen utviklere rapporterte at de hadde problemer med å gjenoppbygge node-gyp på macOS, noe som resulterte i en mindre enn fantastisk opplevelse for de berørte utviklerne. Denne feilen fører også til en rekke fallgruver og tillater mange måter for ting å gå galt.

Dette problemet er ikke noe nytt. Utviklere som bruker eldre versjoner av macOS har opplevd denne feilen før. Med utgivelsen av macOS Catalina rapporterte flere utviklere også at de mislyktes på å gjenoppbygge node-gyp på Mac etter oppgradering til den nye macOS-versjonen. Denne feilen har forhindret utviklere fra å installere nod-gyp-pakkene de trenger.

Hvis du har opplevd denne feilen, vil du forstå hvor frustrerende gjenoppbygging av node-gyp på Mac kan være. Du kan ikke gå videre med appen din eller programvareutviklingen med mindre du får denne feilen løst. Heldigvis har vi gjort alt arbeidet for deg. Hvis du synes det er umulig å gå videre med prosjektet på grunn av denne feilen, kan du prøve noen av løsningene som er oppført nedenfor for å løse det.

Hva er Node-Gyp?

node-gyp er et verktøy som brukes til å kompilere Node.js-tillegg, som er innfødte Node.js-moduler skrevet i C eller C ++. Disse modulene må kompileres på maskinen din ved hjelp av et verktøy som node-gyp. Node-gyp fungerer på Windows, macOS og Linux.

Node-gyp er vanligvis lett å bruke på grunn av det konsistente grensesnittet. Du kan også bruke de samme kommandoene til å bygge eller bygge om modulen din på forskjellige plattformer. Node-gyp støtter også flere målversjoner av Node.

Hvis du får en npm gyp-feil på Mojave eller tidligere versjoner av macOS, må du dobbeltsjekke kravene for at node-gyp skal fungere.

Her er kravene du trenger å installere for at node-gyp skal fungere på macOS:

  • Python v2.7, v3.5, v3.6 eller v3. 7
  • Xcode - et verktøy som lar utviklere lage apper på macOS, iOS og iPadOS.

Du må også installere riktig versjon av Xcode Command Line Verktøy, som er en del av XCodes pakke med programvareutviklingsverktøy og biblioteker.

For å installere Xcode Command Line Tools, følg instruksjonene nedenfor:

  • Start Xcode på din Mac.
  • Velg Innstillinger fra Xcode-menyen.
  • Under Generelt -panelet klikker du på Last ned
  • Når nedlastingsvinduet åpnes, klikk på Komponenter -fanen .
  • Klikk på Installer -knappen ved siden av Kommandolinjeverktøy.
  • Logg på med Apple Developer-kontoen din for å fullføre installasjonsprosessen.
  • Hvis du kjører macOS Catalina, kan du laste ned riktig versjon av Command Line Tools for Xcode for din versjon av Catalina herfra. For macOS 10.15.3 bør filnavnet være Command_Line_Tools_for_Xcode_11.3.1.dmg. Når du har installert de riktige komponentene, bør du kunne bygge med node-gyp vellykket. Hvis du får en node-gyp-gjenoppbygging som mislykkes på Mac, må du gå gjennom disse komponentene for å finne ut hva som gikk galt.

    Slik løser du Node-gyp-gjenoppbyggingsfeil

    Installering av en nodemodul er en enkel prosess. Du trenger bare å kjøre bestemte kommandoer, og du bør være god å gå. Hvis du møter node-gyp-gjenoppbygging mislykkes på Mac, må du gå tilbake for å finne ut hva som skjedde.

    Men før du gjør det, er det noen grunnleggende feilsøkingstrinn du bør prøve:

  • Start datamaskinen på nytt for å kvitte deg med midlertidige feil som kan påvirke systemet ditt.
  • Lukk alle unødvendige apper for å frigjøre datamaskinens tilbakeføringer.
  • Deaktiver sikkerhetsprogramvaren din midlertidig, for eksempel antivirus- eller anti-malware-programmer.
  • Rydd opp i systemet ditt ved hjelp av Mac-reparasjonsapp .
  • Hvis du får fortsatt en node-gyp-gjenoppbyggingsfeil, ta en titt på løsningene nedenfor og se hvilken som fungerer for deg.

    Løs nr. 1: Dobbeltsjekk de nødvendige komponentene.

    Det første du trenger å gjør når du får en npm gyp-feil på Mojave eller annen macOS-versjon, er å dobbeltsjekke node-gyps installasjonskrav. Som nevnt i delen ovenfor trenger du tre komponenter for at den skal fungere, nemlig:

    • Python
    • Xcode
    • Xcode Command Line Tools

    Ikke glem å installere språkene C og C ++, som vil være nødvendig for å kompilere modulene. Hvis noen av disse mangler eller ikke fungerer, får du definitivt feilmeldingen om gjenoppbygging. Å installere den manglende eller defekte komponenten på nytt, kan bidra til å løse problemet.

    Løs nr. 2: Oppdater Node-Gyp-komponentene.

    Noen ganger er det ikke nok å installere disse komponentene. Du må sørge for at du bruker riktig versjon for macOS. Du kan velge mellom Python v2.7, v3.5, v3.6 eller v3.7, avhengig av hvilken versjon som fungerer for deg. For Xcode kan du laste den ned fra denne lenken. Du må også installere den nyeste versjonen av node-gyp i tilfelle.

    Fix # 3: Utfør en syretest.

    Du kan sjekke om Xcode Command Line Tools på datamaskinen din er riktig installert og fungerer med node-gyp kan du kjøre en syretest ved å følge disse trinnene:

  • På Xcode kjører du denne kommandoen:
    / usr / sbin / pkgutil –packages | grep CL
  • Hvis du ser com.apple.pkg.CLTools_Executables som oppført, har du ikke noe problem. Hvis den ikke er det, mislykkes denne testen, og du må installere den på nytt.
  • Kjør neste kommando:
    / usr / sbin / pkgutil –pkg-info com.apple.pkg. CLTools_Executables
  • Du bør se versjon: 11.0.0 (eller nyere) som oppført. Hvis ikke, mislyktes denne testen også, og du må installere den på nytt.
  • Fix # 4: Bytt til en annen Python-versjon.

    Mange berørte utviklere bemerket at endring av versjonen av Python som ble brukt til aktivt miljø bidro til å løse problemet for dem. Dette har noe å gjøre med kompatibiliteten mellom macOS-versjonen, Node-versjonen og Python-versjonen du bruker. Noen brukere fant at eldre versjoner av Python, for eksempel v2.7, er mer stabile enn de nyere. Eksperimenter med forskjellige versjoner og se hvilken som fungerer for deg.

    Sammendrag

    Å mislykkes å gjenoppbygge node-gyp på Mac kan være et problem og å finne ut hva som gikk galt kan være enormt bortkastet tid. Så hvis du støter på denne feilen, kan du se i guiden ovenfor slik at du vet nøyaktig hva du skal gjøre for å fikse feilen.


    YouTube Video.: Hvordan håndtere Node-Gyp-gjenoppbygging mislykkes på Mac

    04, 2024