Подтвердить что ты не робот

Dyld: lazy symbol binding failed: Символ не найден: _node_module_register

Я попытался переустановить и восстановить npm, но проблема все еще сохраняется.

Изначально проблема связана с модулем mongodb: у меня нет этого пакета, поэтому я установил mongodb с помощью этой команды npm install mongodb.

Это показывает мне следующую ошибку:
dyld: Symbol not found: _node_module_register

4b9b3361

Ответ 1

Попробуйте удалить папку node_modules и снова запустить npm.

rm -rf node_modules/
npm install

Это должно исправить это.

Ответ 2

В основном эта ошибка означает, что некоторые бинарные пакеты были созданы под разными версиями node.js и несовместимы друг с другом.

  • Через NVM убедитесь, что вы используете правильную версию node.js, запустите node -v;
  • После установки и переключения на правильную версию node.js через nvm запустить npm update;
  • После того, как все пакеты будут обновлены (или изменены) на совместимые версии, запустите npm rebuild;
  • Примечание: npm rebuild может вызывать ошибки - просто запустите npm rebuild снова и снова, пока он не будет успешно выполнен.

Примечание. Некоторые команды могут запрашивать разрешения root (sudo), - это зависит от того, как вы ранее устанавливали пакеты, npm и node. nvm - никогда не должен запускаться как root (sudo).

Ответ 3

Если вы только что обновили node и запускаете скрипты через WebStorm, убедитесь, что вы отредактируете свои настройки Run/Debug и обновите путь к интерпретатору node. Я использовал node в

/usr/local/bin/node

но после установки node 4 с помощью nvm мне нужно использовать

/path/to/.nvm/v4.2.2/bin/node

Ответ 4

Это то, что сработало для меня:

rm -rf node_modules/
sudo npm install