Недопустимый заголовок ELF, вызванный bcrypt
я последовал этому решению:
bcrypt ломает мое приложение meteor, как его исправить?
но я все еще получаю эту ошибку:
/home/kaleobox/bundle/programs/server/node_modules/fibers/future.js:245
throw(ex);
^
Error: /home/kaleobox/bundle/programs/server/npm/npm-bcrypt/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 (/home/kaleobox/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/node_modules/bindings/bindings.js:74:15)
at Object.<anonymous> (/home/kaleobox/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/bcrypt.js:3:35)
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)
зашел в /home/kaleobox/bundle/programs/server/node_modules
и так:
rm -R /home/kaleobox/bundle/programs/server/node_modules/bcrypt
затем
npm install bcrypt
но ошибка выше сохраняется. Линия
/home/kaleobox/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header
говорит мне, что мне, возможно, придется удалить и переустановить bcrypt в этом втором месте?
3 ответов
вы должны переустановить bcrypt из
/ home / kaleobox / bundle / программы / сервер/npm/npm-bcrypt / node-modules
вместо
/ home/kaleobox/bundle/программы/сервер / node_modules
Я решил эту проблему, переустановив пакет bcrypt в приведенном ниже каталоге:
-
доступ к этому каталогу:
/my_app/programs/server/npm/npm-bcrypt/
затем запустите
npm install bcrypt
запустите приложение снова. Все должно быть хорошо. :)
как показывает ответ @lingxiao-sun, вы мая найдите, что копирование bcrypt
на /home/kaleobox/bundle/programs/server/node_modules
на /home/kaleobox/bundle/programs/server/npm/npm-bcrypt/node-modules
исправит эту проблему.
это возможно, потому что bcrypt
на <your project>/bundle/programs/server/node_modules
будет построен/установлен локально на хост-машине, тогда как bcrypt
на /server/npm/npm-bcrypt/node-modules/
скорее всего, будет от источника/машины сборки, и если эти среды отличаются, это может вызвать проблемы из-за конкретных двоичных файлов, необходимых для каждой среды.