2015-05-08 5 views
10

Я попытался переустановить и перестроить npm, но проблема все еще сохраняется.dyld: lazy symbol binding failed: Symbol not found: _node_module_register

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

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

ответ

30

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

rm -rf node_modules/ 
npm install 

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

+0

Короткий, но правильный ответ ! – Allen

+0

То же самое касается модулей, установленных глобально, но в каталоге ~/.npm / – hasnat

18

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

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

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

2

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

/usr/local/bin/node 

, но после установки узла 4 с использованием NVM, мне нужно использовать

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

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

rm -rf node_modules/ 
sudo npm install 
Смежные вопросы