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:
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-gjenoppbyggingsfeilInstallering 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:
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:
/ usr / sbin / pkgutil –packages | grep CL
/ usr / sbin / pkgutil –pkg-info com.apple.pkg. CLTools_Executables
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