Я пытаюсь установить node-rdkafka
с помощью npm и вижу следующую ошибку
- ОС: macOS Catalina 10.15.7
- версия узла: 10.16.3 (8.x, 12.x и 13.x), а также через
nvm
/Users/VMac/.nvm/versions/node/v10.16.3/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp: line 5: /usr/local/lib/node_modules/node-gyp/bin/node-gyp.js: No such file or directory
npm WARN kafka-log-parser@1.0.0 No repository field.
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! node-rdkafka@2.7.0 install: `node-gyp rebuild`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the node-rdkafka@2.7.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/VMac/.npm/_logs/2020-09-30T14_35_01_271Z-debug.log
Когда я пытаюсь запустить установку node-gyp
с помощью npm install -g node-gyp
и запустить node-gyp rebuild
, я вижу следующую ошибку
gyp info it worked if it ends with ok
gyp info using node-gyp@7.1.0
gyp info using node@10.16.3 | darwin | x64
gyp info find Python using Python version 3.8.3 found at "/usr/local/anaconda3/bin/python3"
gyp info spawn /usr/local/anaconda3/bin/python3
gyp info spawn args [ '/Users/VMac/.nvm/versions/node/v10.16.3/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',
gyp info spawn args '-f',
gyp info spawn args 'make',
gyp info spawn args '-I',
gyp info spawn args '/Users/VMac/Documents/VMAC/Code/GIT/kafka-log-simulator/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/VMac/.nvm/versions/node/v10.16.3/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/Users/VMac/Library/Caches/node-gyp/10.16.3/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',
gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/Users/VMac/Library/Caches/node-gyp/10.16.3',
gyp info spawn args '-Dnode_gyp_dir=/Users/VMac/.nvm/versions/node/v10.16.3/lib/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/Users/VMac/Library/Caches/node-gyp/10.16.3/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/Users/VMac/Documents/VMAC/Code/GIT/kafka-log-simulator',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.' ]
gyp: binding.gyp not found (cwd: /Users/VMac/Documents/VMAC/Code/GIT/kafka-log-simulator) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/Users/VMac/.nvm/versions/node/v10.16.3/lib/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack at ChildProcess.emit (events.js:198:13)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Darwin 19.6.0
gyp ERR! command "/Users/VMac/.nvm/versions/node/v10.16.3/bin/node" "/Users/VMac/.nvm/versions/node/v10.16.3/bin/node-gyp" "rebuild"
gyp ERR! cwd /Users/VMac/Documents/VMAC/Code/GIT/kafka-log-simulator
gyp ERR! node -v v10.16.3
gyp ERR! node-gyp -v v7.1.0
gyp ERR! not ok
Я тоже пробовал xcode-select --install
, но безуспешно. Есть предложения, как исправить это и успешно установить node-rdkafka
с помощью npm на моем Mac?
3 ответа
Перепробовав различные варианты в Интернете, я не смог найти подходящего решения. Итак, это то, что я делал и работал
Удалил
node
, следуя инструкциям, здесьЕсли вы используете
Homebrew
, запуститеbrew uninstall node
При необходимости используйте
--force
или--ignore-dependencies
Запустите
node -v
. Если вы все еще видите информацию о версии, следуйте инструкциям здесьЯ также хотел удалить
nvm
со своей машины. Итак, я удалил папку~/.nvm
. Но я все еще вижу версию nvm. Чтобы полностью очистить, удалите ссылки из~/.bashrc
и~/.zshrc
, если есть
Я понял, что у меня есть две версии узла
- Установлен вручную
- Устанавливается с помощью Homebrew
Опубликуйте это, я установил только nvm
(не устанавливайте node или npm).
brew install nvm
А затем установил необходимую версию node и npm, используя
nvm install <NODE_VERSION>
Это устранило мои node-gyp
ошибки
После того, как я сам столкнулся с этой проблемой и безуспешно попробовал решения, предложенные в обоих ответах, это сработало для меня, без необходимости удалять node.
TL : DR
sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
npm install node-rdkafka
После этого я смог без проблем установить node-rdkafka
.
Мне пришлось удалить CommandLineTools и переустановить его, как это предлагалось здесь, потому что, когда я пытался запустить xcode-select --install
, я бы получить
xcode-select: error: инструменты командной строки уже установлены, используйте «Обновление программного обеспечения» для установки обновлений
Вот что сработало для меня:
«Загрузите соответствующую версию« Инструменты командной строки для Xcode »для своей версии Catalina со страницы https: / /developer.apple.com/download/more/. Начиная с MacOS 10.15.5, это Command_Line_Tools_for_Xcode_11.5.dmg "
Похожие вопросы
Связанные вопросы
Новые вопросы
node.js
Node.js - это неблокирующая асинхронная среда ввода-вывода, основанная на событиях, использующая движок Google V8 JavaScript и библиотеку libuv. Он используется для разработки приложений, которые интенсивно используют возможность запуска JavaScript как на клиенте, так и на стороне сервера, и, следовательно, выигрывают от повторного использования кода и отсутствия переключения контекста.