Bcrypt нарушает мое приложение метеорита, как его исправить?

Я не был уверен, что это должен быть вопрос stackoverflow или serverfault.

Я установил модуль Meteor accounts-password, и он работал локально, но при развертывании на сервере он сломал мое приложение. Здесь совок:

Я запускаю последний Meteor 1.0.5 локально на OSX (полностью обновленная ОС) Здание с --architecture os.linux.x86_64 Развертывание в Ubuntu 14.04.2 LTS x86_64 (только что обновлено) Запуск nodejs v0.12.1 (только что построенный) Служебное приложение с nginx v1.4.0

И все еще получаю:

/home/secrethistory/bundle/programs/server/node_modules/fibers/future.js:245
                                            throw(ex);
                                                  ^
Error: Module did not self-register.
    at Error (native)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at bindings (/home/secrethistory/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:74:15)
    at Object.<anonymous> (/home/secrethistory/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/bcrypt.js:3:35)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)

Какие-нибудь советы или места для просмотра?

Ответы

Ответ 1

Модуль bcrypt зависит от платформы (как волокна), поэтому вам нужно удалить пакет после распаковки пакета на вашем сервере:

rm -R path/to/bcrypt

затем установите его снова:

npm install bcrypt

Ответ 2

Начиная с Meteor 1.0.5 (и это также относится к предстоящему 1.1), мы еще не прошли полный процесс тестирования, проверки и QA с Node 0.12. Я бы рекомендовал придерживаться Node 0.10 до этой точки. Хотя вполне вероятно, что он будет работать в основном, возможно, потребуются некоторые основные изменения, и, как вы видели, бинарные пакеты, созданные против 0.10 ABI, не работают с 0.12.