2015-04-08 5 views
7

я последовал за это решение:Недопустимый заголовок ELF, вызванные Bcrypt

bcrypt is breaking my meteor application, how do I fix it?

Но я все еще получаю эту ошибку:

/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 в этом втором месте?

ответ

4

Вы должны переустановить Bcrypt от

/home/kaleobox/bundle/programs/server/npm/npm-bcrypt/node-modules

вместо

/home/kaleobox/bundle/programs/server/node_modules

+1

Благодарим вас, что ответили на этот вопрос! Ответы только на код не поощряются при переполнении стека, потому что исходному плакату (или будущим читателям) может быть сложно понять логику, лежащую в их основе. Пожалуйста, отредактируйте свой вопрос и включите объяснение своего кода, чтобы другие могли воспользоваться вашим ответом. Благодаря! –

+0

Спасибо за комментарий ~ Я обновил его только сейчас. –

+0

Как использовать ваше предложение через npm? – jjm340

0

Как @ Lingxiao солнце-ответ указывает, вы может найти, что копирование 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/, вероятно, будет от источника/построить машину, и если эти среды различаются это может вызвать проблемы из-за конкретные бинарные файлы, необходимые для каждой среды.

1

Я решил эту проблему путем повторной установки пакета Bcrypt в следующей директории:

  • Доступ к этому каталогу:

    /my_app/programs/server/npm/npm-bcrypt/

  • Затем запустите npm install bcrypt

  • Запустите приложение снова. Это должно быть хорошо. :)

Смежные вопросы