Bcrypt неверный заголовок эльфа при запуске приложения node
Я работаю над проектом nodejs для школы.
Я не смог установить bcrypt с npm, поэтому я установил bcrypt-nodejs, и проект вчера работал отлично.
Но сегодня, когда я делаю "node приложение", у меня есть эта ошибка:
/.../node_modules/bcrypt/node_modules/bindings/bindings.js:79
throw e
^
Error: /.../node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at bindings (/.../node_modules/bcrypt/node_modules/bindings/bindings.js:74:15)
at Object.<anonymous> (/.../node_modules/bcrypt/bcrypt.js:1:97)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
мой файл package.json выглядит следующим образом:
{
"name": "Supinfarm",
"version": "0.0.0",
"env": {
"PYTHON": "/usr/bin/python2.6"
},
"dependencies": {
"express": "3.1.0",
"connect-flash": "*",
"jade": "*",
"stylus": "*",
"passport": "*",
"passport-local": "*",
"mongoose": "*",
"bcrypt": "*"
}
}
Я на Linux ubuntu 10.04 LTS
Я попытался найти решение на Google без успеха...
Может кто-нибудь мне помочь?
Ответы
Ответ 1
Я обнаружил, что bcrypt, скомпилированный на OSX, не будет работать в Linux. Другими словами, если вы закроете bcrypt, скомпилированный на вашей локальной рабочей станции OSX, и попробуйте запустить приложение node на ваших Linux-серверах, вы увидите вышеприведенную ошибку.
Решение: npm install bcrypt
в Linux, проверьте это, разрешено.
Вероятно, лучший способ справиться с этим - исключить ваш node_modules в .gitignore... и npm удаленно.