Почему происходит сбой перестроения node-gyp в Mac OSX El Capitan

Недавно я купил Mac, на котором используется Mac OSX El Capitan v10.11.4. Установлен узел с homebrew, и я использую node v6.2.2 и npm v3.9.5. Я получаю сообщение об ошибке с bcrypt во время npm install, которое, как мне кажется, является результатом node-gyp rebuild ошибки. Я также недавно загрузил xcode-select (версия 2343) и xcode (7.3.1) (в таком порядке).

Вот полный вывод ошибок после запуска npm install:

https://gist.github.com/varunjayaraman/5734af617d616437cd5b3456b20bc503

Не уверен, что не так. Я пришел из страны Linux и стараюсь не устанавливать сам из исходников, так что, может быть, это причина этих проблем? В любом случае, любой совет будет очень признателен. Я также видел, как эта ошибка возникает у других, но ни одно из их решений, похоже, не сработало (когда я набираю xcode-select --print-path, я получаю /Applications/Xcode.app/Contents/Developer)


person roonie    schedule 27.06.2016    source источник
comment
Я регулярно вижу проблемы, связанные с установками Node Homebrew, которые решаются с помощью официального установщика < / а>. Может, стоит попробовать.   -  person robertklep    schedule 27.06.2016


Ответы (8)


Каждый раз, когда я обновляю OSX до более новой версии, у меня возникает та же проблема. Вот как я это решаю каждый раз:

sudo rm -rf  /Library/Developer/CommandLineTools
xcode-select --install

Вот и все. Теперь, когда вы в следующий раз выполните npm install или yarn, все будет работать.

PS: Иногда вы не сможете установить инструмент командной строки через Xcode-select, например, если вы находитесь на бета-версии. В этом случае вы сможете установить его вручную отсюда: https://developer.apple.com/download/more/

person metakungfu    schedule 22.11.2019
comment
Только что обновился до 10.15.4, и у меня была такая же проблема - я погуглил и снова нашел свой собственный ответ, который сработал ... потрясающе. - person metakungfu; 08.04.2020
comment
У меня проблемы с Big Sur, и это исправление, похоже, не работает. У вас есть вопросы? Может быть, мне нужно обновить python или что-то еще, потому что я вижу, что он ссылается на python в трассировке ошибки? - person thomallen; 18.12.2020
comment
Я тоже на BigSur - у меня была такая же проблема, и то же исправление сработало. Хотя это возвращалось пару раз, когда я обновлялся до последней бета-версии. Вам следует попробовать еще раз. Я не уверен, связан ли питон. - person metakungfu; 23.12.2020
comment
Да, на этой неделе несколько разработчиков занимались этой проблемой, поэтому мы просто удалили bcrypt из нашего проекта, который был единственным пакетом, использующим node-gyp. - person thomallen; 31.12.2020
comment
это сработало для меня, большое спасибо. - person cristianojeda; 29.04.2021

Этот тоже меня укусил. Было несколько разных решений, только одно из которых у меня сработало.

Во-первых, убедитесь, что у вас установлены инструменты командной строки XCode, как говорится на их странице npm.

1) Самое простое решение, которое, конечно же, не сработало (хотя, похоже, у некоторых так оно и было), - просто удалить каталог ~/.node-gyp. Так что с таким же успехом можно попробовать, а также удалить свой node_modules каталог и сделать еще npm install.

2) Попробуйте удалить node-gyp и переустановить:

sudo npm uninstall node-gyp -g
npm uninstall node-gyp
npm install

3) Но в чем заключалась хитрость, так это решение данной проблемы в проблеме node-gyp на github, где вам нужно установить другую версию узла и выполнить установку npm таким образом. Это проще, чем кажется, но довольно мерзко:

sudo npm cache clean -f
sudo npm install -g n
sudo n 4.4.5
sudo npm install npm -g
sudo npm uninstall node-gyp -g

Затем попробуйте запустить npm install.

Надеюсь, это поможет!

person kdazzle    schedule 29.06.2016
comment
Вы просто молодцы ... единственное, что было близко к работе! Спасибо - person jmansurf; 13.10.2019

Если node_modules кеш был создан с помощью последней версии Node, вам может потребоваться удалить кеш, вернуться назад и затем переустановить пакеты:

rm -rf node_modules
nvm use 6
npm install
person Brent Washburne    schedule 10.10.2018

Та же проблема, что и после обновления macOS

Обновить варево

brew update

Обновить X-Code

xcode-select --install

При необходимости вам может потребоваться сбросить путь к X-Code

xcode-select --switch /Applications/Xcode.app
xcode-select --switch /Library/Developer/CommandLineTools
person bhavinjr    schedule 03.01.2020

если вы хотите обновить Node до 10 или выше, вам нужно найти устаревшие зависимости с Node 10 в package.json и обновить эти пакеты до более новой стабильной версии, а затем выполнить сборку (установка npm / yarn).

person Yao Li    schedule 21.08.2019

Попробуйте посмотреть на свою установку python.

Я нашел подсказку в обсуждении здесь https://github.com/nodejs/node-gyp/issues/489#issuecomment-431447692.

Мой питон на моем MacBook Pro управляется Homebrew, который устанавливает двоичные файлы в

/ USR / местные / бен

Итак, в терминале я сделал следующее:

>$: npm config set python /usr/local/bin/python
>$: rm -rf node_modules
>$: npm i
person TWright    schedule 17.01.2020

У меня была аналогичная проблема, и выполнение приведенных ниже команд исправило ее для меня.

 Install Xcode // if you dont have it installed already
 Run sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
person B.K    schedule 17.04.2020

У меня есть простое решение. Если установлен xcode-sellect, попробуйте запустить sudo xcode-select --reset

person Narek Tootikian    schedule 16.06.2021