2016-09-30 1 views
0

У меня точно такая же ошибка, которая говоритОшибка: Модуль сделал самостоятельно не зарегистрировать

at bindings (/node_modules/pg-native/node_modules/libpq/node_modules/bindings/bindings.js:76:44) 

Это может показаться похожим на:
Error: Module did not self-register.
, но разница в том, я использую докер для создания изображений, так мне не удастся вернуться назад и удалить node_modules и снова выполнить npm для каждого контейнера.
Есть ли более элегантное решение?

+0

Вы обновили версию своего узла или версии для npm? – abdulbarik

+0

Да, я использовал последние версии. Я нашел исправление, выполнив 'npm rebuild'. Спасибо за вашу помощь. – raviabhiram

ответ

0

Я получал эту ошибку, когда я запускал docker-compose. Кроме того, в моем приложении для докеров я установил текущую папку. Чтобы исправить эту проблему, я перестроил свои модули узлов с помощью npm rebuild.

0

Одним из преимуществ Docker является то, что вам должно быть легко обновить изображения и заменить контейнеры. Если у вас есть куча приложений узлов, которые все начинают с того же изображения:

FROM node 

Тогда вам просто нужно восстановить свои изображения, и они будут использовать последнюю версию узла базового образа (который в настоящее время имеет НПМ 3.10.3) , В непроизводственной среде просто остановите свой контейнер и запустите новый новый образ. В производстве посмотрите rolling upgrades in swarm mode.

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

+0

Спасибо Элтон. Я решил, что решение состоит в том, чтобы сделать восстановление после установки узла с помощью npm rebuild и устранить ошибки. – raviabhiram