Как справиться с ошибкой перестроения Node-Gyp на Mac (04.26.24)

node-gyp - отличный инструмент, который позволяет разработчикам компилировать собственные дополнительные модули Node на нескольких платформах. Он очень популярен и широко используется сегодня, поэтому его часто включают в качестве зависимости для большинства пакетов NPM.

В большинстве операционных систем node-gyp не вызывает никаких проблем. Установка node-gyp и остальных пакетов NPM обычно работает гладко и эффективно. Однако это касается не всех пользователей. Некоторые разработчики сообщили, что у них возникли проблемы с восстановлением node-gyp на macOS, что привело к менее чем звездному опыту для затронутых разработчиков. Эта ошибка также приводит к множеству ловушек и позволяет многое пойти не так.

Эта проблема не нова. Разработчики, использующие старые версии macOS, уже сталкивались с этой ошибкой. С выпуском macOS Catalina несколько разработчиков также сообщили о сбое перестройки node-gyp на Mac после обновления до новой версии macOS. Из-за этой ошибки разработчики не смогли установить необходимые им пакеты node-gyp.

Если вы столкнулись с этой ошибкой, вы поймете, насколько неприятным может быть сбой перестроения node-gyp на Mac. Вы не сможете продолжить разработку своего приложения или программного обеспечения, пока не исправите эту ошибку. К счастью, мы сделали всю работу за вас. Если из-за этой ошибки вы не можете продолжить работу над своим проектом, вы можете попробовать любое из перечисленных ниже решений, чтобы исправить ее.

Что такое Node-Gyp?

node-gyp - это инструмент, используемый для компиляции надстроек Node.js, которые представляют собой собственные модули Node.js, написанные на C или C ++. Эти модули необходимо скомпилировать на вашем компьютере с помощью такого инструмента, как node-gyp. Node-gyp работает в Windows, macOS и Linux.

Node-gyp обычно прост в использовании из-за его согласованного интерфейса. Вы также можете использовать одни и те же команды для сборки или перестройки модуля на разных платформах. Node-gyp также поддерживает несколько целевых версий Node.

Если вы получаете ошибку npm gyp в Mojave или более ранних версиях macOS, вам необходимо дважды проверить требования для работы node-gyp.

Вот требования, которые необходимо установить для работы node-gyp в macOS:

  • Python v2.7, v3.5, v3.6 или v3. 7
  • Xcode - утилита, позволяющая разработчикам создавать приложения на macOS, iOS и iPadOS.

Также необходимо установить правильную версию командной строки Xcode Инструменты, которые являются частью набора инструментов и библиотек разработки программного обеспечения XCode.

Чтобы установить инструменты командной строки Xcode, следуйте инструкциям ниже:

  • Запустите Xcode на вашем Mac.
  • Выберите Настройки в меню Xcode.
  • На панели Общие нажмите Загрузки
  • Когда откроется окно загрузок, нажмите вкладку Компоненты .
  • Нажмите кнопку Установить рядом с Инструменты командной строки
  • Войдите, используя свою учетную запись Apple Developer, чтобы завершить процесс установки.
  • Если вы используете macOS Catalina, вы можете загрузить соответствующую версию инструментов командной строки для Xcode для своей версии Catalina отсюда. Для macOS 10.15.3 имя файла должно быть Command_Line_Tools_for_Xcode_11.3.1.dmg. После того, как вы установили правильные компоненты, вы сможете успешно построить с помощью node-gyp. Если на Mac происходит сбой при перестроении node-gyp, вам необходимо просмотреть эти компоненты, чтобы выяснить, что пошло не так.

    Как решить ошибку перестроения node-gyp

    Установка модуля node - простой процесс. Вам просто нужно запустить определенные команды, и все будет в порядке. Если вы столкнулись с ошибкой перестроения node-gyp на Mac, вам нужно вернуться назад, чтобы выяснить, что произошло.

    Но прежде чем вы это сделаете, вот несколько основных шагов по устранению неполадок, которые вы должны попробовать:

  • Перезагрузите компьютер, чтобы избавиться от временных ошибок, которые могут повлиять на вашу систему.
  • Закройте все ненужные приложения, чтобы освободить память компьютера.
  • Временно отключите программное обеспечение безопасности, такое как антивирусные программы или программы защиты от вредоносных программ.
  • Очистите свою систему с помощью приложения для восстановления Mac .
  • Если вы по-прежнему возникает ошибка перестройки node-gyp, взгляните на приведенные ниже решения и посмотрите, какое из них работает для вас.

    Исправление №1: дважды проверьте обязательные компоненты.

    Первое, что вам нужно делать, когда вы получаете ошибку npm gyp в Mojave или другой версии macOS, - это дважды проверить требования к установке node-gyp. Как упоминалось в разделе выше, для его работы необходимы три компонента, а именно:

    • Python
    • Xcode
    • Инструменты командной строки Xcode

    Не забудьте установить языки C и C ++, которые понадобятся для компиляции модулей. Если что-то из этого отсутствует или не работает, вы обязательно получите сообщение об ошибке восстановления. Повторная установка отсутствующего или неисправного компонента должна помочь решить проблему.

    Исправление №2: обновите компоненты Node-Gyp.

    Иногда установки этих компонентов недостаточно. Убедитесь, что вы используете правильную версию для своей macOS. Вы можете выбрать Python v2.7, v3.5, v3.6 или v3.7, в зависимости от того, какая версия вам подходит. Что касается Xcode, вы можете скачать его по этой ссылке. Вам также необходимо установить последнюю версию node-gyp на всякий случай.

    Исправление №3: Выполните кислотный тест.

    Вы можете проверить, правильно ли установлены инструменты командной строки Xcode на вашем компьютере и будут ли они работать с помощью node-gyp вы можете запустить кислотный тест, выполнив следующие действия:

  • В Xcode выполните эту команду:
    / usr / sbin / pkgutil –packages | grep CL
  • Если вы видите в списке com.apple.pkg.CLTools_Executables , то у вас не будет проблем. Если это не так, значит, этот тест не прошел, и вам необходимо его переустановить.
  • Выполните следующую команду:
    / usr / sbin / pkgutil –pkg-info com.apple.pkg. CLTools_Executables
  • В списке должна отображаться версия: 11.0.0 (или более поздняя). Если это не так, значит, этот тест также не прошел, и вам необходимо переустановить.
  • Исправление №4: переключиться на другую версию Python.

    Многие затронутые разработчики отметили, что изменение версии Python, используемой для активная среда помогла решить проблему. Это как-то связано с совместимостью между версией macOS, версией Node и версией Python, которую вы используете. Некоторые пользователи обнаружили, что старые версии Python, такие как v2.7, более стабильны, чем новые. Поэкспериментируйте с разными версиями и посмотрите, какая из них вам подходит.

    Резюме

    Получение сбоев при перестроении node-gyp на Mac может быть проблемой, а выяснение того, что пошло не так, может быть огромной тратой времени. Поэтому, если вы столкнулись с этой ошибкой, обратитесь к руководству выше, чтобы вы точно знали, что делать, чтобы исправить ошибку.


    YouTube видео: Как справиться с ошибкой перестроения Node-Gyp на Mac

    04, 2024