Jak zpracovat selhání Node-Gyp, které selhalo na Macu (04.24.24)

node-gyp je šikovný nástroj, který umožňuje vývojářům kompilovat nativní doplňkové moduly Node na více platformách. Dnes je velmi populární a široce používaný, takže je pro většinu balíčků NPM často zahrnut jako závislost.

Ve většině operačních systémů node-gyp nezpůsobuje žádný problém. Instalace node-gyp a zbytku balíčků NPM obvykle funguje hladce a efektivně. To však neplatí pro všechny uživatele. Někteří vývojáři ohlásili potíže s opětovným sestavením uzlu gyp v systému macOS, což mělo za následek méně než hvězdné prostředí pro postižené vývojáře. Tato chyba také vede k mnoha nástrahám a umožňuje mnoho způsobů, jak se věci pokazit.

Tento problém není nic nového. Vývojáři, kteří používají starší verze systému macOS, se s touto chybou již setkali. S vydáním systému macOS Catalina několik vývojářů také uvedlo, že po upgradu na novou verzi systému macOS selže na Macu opětovné sestavení uzlů gyp. Tato chyba zabránila vývojářům v instalaci balíčků node-gyp, které potřebují.

Pokud jste se s touto chybou setkali, pochopíte, jak frustrující může být přestavba node-gyp na Macu. Dokud tuto chybu neopravíte, nemůžete se ve vývoji aplikací nebo softwaru posunout vpřed. Naštěstí jsme za vás udělali veškerou práci. Pokud z důvodu této chyby zjistíte, že je nemožné se svým projektem pokročit, můžete to vyřešit některým z níže uvedených řešení.

Co je Node-Gyp?

node-gyp je nástroj používaný ke kompilaci doplňků Node.js, což jsou nativní moduly Node.js napsané v jazyce C nebo C ++. Tyto moduly je třeba na vašem počítači kompilovat pomocí nástroje, jako je node-gyp. Node-gyp funguje na Windows, macOS a Linux.

Node-gyp je obecně snadno použitelný díky svému konzistentnímu rozhraní. Stejné příkazy můžete také použít k sestavení nebo přestavbě modulu na různých platformách. Node-gyp také podporuje více cílových verzí Node.

Pokud se vám v Mojave nebo dřívějších verzích systému macOS zobrazuje chyba npm gyp, je třeba zkontrolovat požadavky na fungování node-gyp.

Zde jsou požadavky, které musíte nainstalovat, aby node-gyp fungoval na macOS:

  • Python v2.7, v3.5, v3.6 nebo v3. 7
  • Xcode - nástroj, který vývojářům umožňuje vytvářet aplikace pro macOS, iOS a iPadOS.

Musíte také nainstalovat správnou verzi příkazového řádku Xcode Nástroje, které jsou součástí sady nástrojů a knihoven pro vývoj softwaru XCode.

Chcete-li nainstalovat nástroje příkazového řádku Xcode, postupujte podle následujících pokynů:

  • Spusťte Xcode na počítači Mac.
  • Vyberte Předvolby z nabídky Xcode.
  • Na panelu Obecné klikněte na Stahování
  • Když se otevře okno Stahování, klikněte na kartu Komponenty .
  • Klikněte na tlačítko Instalovat vedle Nástroje příkazového řádku.
  • Přihlaste se pomocí svého účtu vývojáře Apple a dokončete proces instalace.
  • Pokud používáte macOS Catalina, můžete si odtud stáhnout příslušnou verzi nástrojů příkazového řádku pro Xcode pro vaši verzi Cataliny. U systému macOS 10.15.3 by měl být název souboru Command_Line_Tools_for_Xcode_11.3.1.dmg. Jakmile nainstalujete správné součásti, měli byste být schopni úspěšně vytvářet pomocí node-gyp. Pokud se vám na Macu nedaří znovu sestavit uzel-gyp, musíte zkontrolovat tyto komponenty a zjistit, co se pokazilo.

    Jak vyřešit chybu opětovného sestavení uzlu-gyp

    Instalace modulu uzlu je snadný proces. Musíte pouze spustit konkrétní příkazy a měli byste být připraveni. Pokud narazíte na to, že přestavba node-gyp selže na Macu, musíte udělat krok zpět, abyste zjistili, co se stalo.

    Ale než to uděláte, zde je několik základních kroků k řešení potíží, které byste měli vyzkoušet:

  • Restartujte počítač, abyste se zbavili dočasných chyb, které by mohly ovlivnit váš systém.
  • Zavřete všechny nepotřebné aplikace, abyste uvolnili počítač.
  • Dočasně deaktivujte bezpečnostní software, například antivirové nebo antimalwarové programy.
  • Vyčistěte systém pomocí aplikace Mac repair .
  • Pokud Stále se zobrazuje chyba přestavování uzlů-gyp, podívejte se na níže uvedená řešení a podívejte se, které z nich pro vás pracuje.

    Oprava č. 1: Zkontrolujte požadované komponenty.

    První věc, kterou musíte udělat udělat, když se zobrazí chyba npm gyp na Mojave nebo jiné verzi systému macOS, je dvakrát zkontrolovat instalační požadavky node-gyp. Jak bylo uvedeno výše, potřebujete tři komponenty, které fungují, a to:

    • Python
    • Xcode
    • Nástroje příkazového řádku Xcode

    Nezapomeňte nainstalovat jazyky C a C ++, které budou potřebné ke kompilaci modulů. Pokud některý z nich chybí nebo nefunguje, určitě se zobrazí chyba selhání opětovného sestavení. Přeinstalace chybějící nebo vadné součásti by měla problém vyřešit.

    Oprava č. 2: Aktualizujte své komponenty Node-Gyp.

    Někdy instalace těchto komponent nestačí. Musíte se ujistit, že používáte správnou verzi pro váš macOS. Můžete si vybrat mezi Pythonem v2.7, v3.5, v3.6 nebo v3.7, podle toho, která verze vám vyhovuje. U Xcode si jej můžete stáhnout z tohoto odkazu. Pro každý případ musíte také nainstalovat nejnovější verzi node-gyp.

    Oprava č. 3: Proveďte test na kyselinu.

    Můžete zkontrolovat, zda jsou nástroje příkazového řádku Xcode ve vašem počítači správně nainstalovány a budou fungovat. s node-gyp můžete spustit kyselý test podle následujících kroků:

  • V Xcode spusťte tento příkaz:
    / usr / sbin / pkgutil –packages | grep CL
  • Pokud uvidíte com.apple.pkg.CLTools_Executables , jak je uveden, nebudete mít problém. Pokud tomu tak není, pak tento test selhal a musíte jej znovu nainstalovat.
  • Spusťte další příkaz:
    / usr / sbin / pkgutil –pkg-info com.apple.pkg. CLTools_Executables
  • Měla by se zobrazit verze: 11.0.0 (nebo novější), jak je uvedena. Pokud tomu tak není, pak tento test také selhal a je třeba jej přeinstalovat.
  • Oprava č. 4: Přepnout na jinou verzi Pythonu.

    Mnoho ovlivněných vývojářů si všimlo, že změna verze Pythonu použitá pro aktivní prostředí jim pomohlo problém vyřešit. To má něco společného s kompatibilitou mezi verzí macOS, verzí uzlu a verzí Pythonu, kterou používáte. Někteří uživatelé zjistili, že starší verze Pythonu, například v2.7, jsou stabilnější než ty novější. Experimentujte s různými verzemi a zjistěte, která z nich pro vás funguje.

    Shrnutí

    Získání selhání node-gyp rebuild v systému Mac může být problémem a zjištění, co se stalo, může být velkou ztrátou času. Pokud se tedy s touto chybou setkáte, přečtěte si výše uvedeného průvodce, abyste věděli, co přesně je třeba chybu opravit.


    YouTube video: Jak zpracovat selhání Node-Gyp, které selhalo na Macu

    04, 2024