Hur man hanterar Node-Gyp-ombyggnad misslyckas på Mac (04.25.24)

node-gyp är ett smidigt verktyg som gör det möjligt för utvecklare att kompilera inbyggda Node-tilläggsmoduler på flera plattformar. Det är mycket populärt och används ofta idag, så det ingår ofta som ett beroende för de flesta NPM-paket.

På de flesta operativsystem orsakar node-gyp inga problem. Installera node-gyp och resten av NPM-paketen fungerar vanligtvis smidigt och effektivt. Detta är dock inte fallet för alla användare. Vissa utvecklare rapporterade att de hade problem med att återuppbygga nod-gyp på macOS, vilket resulterade i en mindre än fantastisk upplevelse för de drabbade utvecklarna. Detta fel leder också till en mängd fallgropar och tillåter att många sätt går fel.

Det här problemet är inte något nytt. Utvecklare som använder äldre versioner av macOS har stött på detta fel tidigare. När MacOS Catalina släpptes rapporterade flera utvecklare också att de misslyckades med att bygga om nod-gyp på Mac efter uppgradering till den nya macOS-versionen. Det här felet har hindrat utvecklare från att installera de nod-gyp-paket som de behöver.

Om du har stött på detta fel förstår du hur frustrerande nod-gyp-ombyggnaden misslyckas på Mac kan vara. Du kan inte gå vidare med din app eller programutveckling om du inte får det här felet rättat. Lyckligtvis har vi gjort allt för dig. Om du tycker att det är omöjligt att gå vidare med ditt projekt på grund av detta fel kan du prova någon av lösningarna nedan för att lösa det.

Vad är Node-Gyp?

node-gyp är ett verktyg som används för att sammanställa Node.js-tillägg, som är inbyggda Node.js-moduler skrivna i C eller C ++. Dessa moduler måste kompileras på din dator med ett verktyg som node-gyp. Node-gyp fungerar på Windows, macOS och Linux.

Node-gyp är i allmänhet lätt att använda på grund av dess konsekventa gränssnitt. Du kan också använda samma kommandon för att bygga eller bygga om din modul på olika plattformar. Node-gyp stöder också flera målversioner av Node.

Om du får ett npm gyp-fel på Mojave eller tidigare versioner av macOS måste du dubbelkolla kraven för att node-gyp ska fungera.

Här är kraven du behöver installera för att nod-gyp ska fungera på macOS:

  • Python v2.7, v3.5, v3.6 eller v3. 7
  • Xcode - ett verktyg som gör det möjligt för utvecklare att skapa appar på macOS, iOS och iPadOS.

Du måste också installera rätt version av Xcode Command Line Verktyg, som ingår i XCodes programvaruutvecklingsverktyg och bibliotek.

För att installera kommandoradsverktygen för Xcode, följ instruktionerna nedan:

  • Starta Xcode på din Mac.
  • Välj Inställningar från Xcode-menyn.
  • Under panelen Allmänt klickar du på Nedladdningar .
  • När fönstret Nedladdningar öppnas, klicka på Komponenter fliken .
  • Klicka på Installera -knappen bredvid Kommandoradsverktyg.
  • Logga in med ditt Apple Developer-konto för att slutföra installationsprocessen.
  • Om du kör macOS Catalina kan du hämta lämplig version av kommandoradsverktygen för Xcode för din version av Catalina härifrån. För macOS 10.15.3 ska filnamnet vara Command_Line_Tools_for_Xcode_11.3.1.dmg. När du har installerat rätt komponenter bör du kunna bygga med hjälp av node-gyp framgångsrikt. Om du får en nod-gyp-ombyggnad som inte fungerar på Mac måste du granska dessa komponenter för att ta reda på vad som gick fel.

    Hur man löser Node-gyp-ombyggnadsfelet

    Installera en nodmodul är en enkel process. Du behöver bara köra specifika kommandon och du bör vara bra att gå. Om du stöter på nod-gyp-ombyggnad misslyckas på Mac måste du gå tillbaka för att ta reda på vad som hände.

    Men innan du gör det här är några grundläggande felsökningssteg du bör försöka:

    > Starta om datorn för att bli av med tillfälliga buggar som kan påverka ditt system.
  • Stäng alla onödiga appar för att frigöra datorns återuppgifter.
  • Inaktivera tillfälligt ditt säkerhetsprogram, till exempel antivirusprogram eller antiprogram.
  • Rensa upp ditt system med Mac-reparationsapp .
  • Om du du får fortfarande ett nod-gyp-ombyggnadsfel, titta på lösningarna nedan och se vilken som fungerar för dig.

    Fix # 1: Dubbelkolla de nödvändiga komponenterna.

    Det första du behöver gör när du får ett npm gyp-fel på Mojave eller annan macOS-version är att dubbelkontrollera nod-gips installationskrav. Som nämnts i avsnittet ovan behöver du tre komponenter för att det ska fungera, nämligen:

    • Python
    • Xcode
    • Xcode Command Line Tools

    Glöm inte att installera C- och C ++ - språken, vilket kommer att behövas för att kompilera modulerna. Om något av dessa saknas eller inte fungerar kommer du definitivt att få fel i ombyggnaden. Att installera om den saknade eller felaktiga komponenten bör hjälpa till att lösa problemet.

    Fix # 2: Uppdatera dina Node-Gyp-komponenter.

    Ibland räcker det inte med att installera dessa komponenter. Du måste se till att du använder rätt version för din macOS. Du kan välja mellan Python v2.7, v3.5, v3.6 eller v3.7, beroende på vilken version som fungerar för dig. För Xcode kan du ladda ner den från den här länken. Du måste också installera den senaste versionen av nod-gyp för alla fall.

    Fix # 3: Utför ett syra-test.

    Du kan kontrollera om Xcode Command Line Tools på din dator är korrekt installerad och fungerar med node-gyp kan du köra ett syratest genom att följa dessa steg:

  • På Xcode kör du det här kommandot:
    / usr / sbin / pkgutil –packages | grep CL
  • Om du ser com.apple.pkg.CLTools_Executables som anges, har du inget problem. Om det inte är så misslyckades detta test och du måste installera om det.
  • Kör nästa kommando:
    / usr / sbin / pkgutil –pkg-info com.apple.pkg. CLTools_Executables
  • Du bör se version: 11.0.0 (eller senare) enligt listan. Om det inte är så misslyckades testet också och du måste installera om det.
  • Fix # 4: Byt till en annan Python-version.

    Många påverkade utvecklare noterade att ändra versionen av Python som används för aktiv miljö hjälpte till att lösa problemet för dem. Detta har något att göra med kompatibiliteten mellan macOS-versionen, Node-versionen och Python-versionen du använder. Vissa användare fann att äldre versioner av Python, som v2.7, är mer stabila än de nyare. Experimentera med olika versioner och se vilken version som fungerar för dig.

    Sammanfattning

    Att få ombyggnad av nod-gips misslyckas på Mac kan vara ett besvär och att räkna ut vad som gick fel kan vara enormt slöseri med tid. Så om du stöter på det här felet, se guiden ovan så att du vet exakt vad du ska göra för att åtgärda felet.


    YouTube-video: Hur man hanterar Node-Gyp-ombyggnad misslyckas på Mac

    04, 2024