bcrypt在无服务器的Lambda上不起作用

时间:2019-06-23 02:39:13

标签: node.js lambda bcrypt serverless

我在本地添加了bcrypt模块,它可以工作,但是在部署时它不起作用  我测试该功能并显示:

errorMessage": "/var/task/node_modules/bcrypt/lib/binding/bcrypt_lib.node: invalid ELF header

2 个答案:

答案 0 :(得分:1)

您需要使用linux环境进行部署。如果从Windows计算机部署它,则会发生此错误。

或者,您可以使用bcryptjs代替bcrypt

答案 1 :(得分:0)

对于此问题的 python 版本(我是如何结束这里的),您需要安装软件包的 linux 版本(以及它所依赖的 cffi、cryptography 和 PyNaCl)并自行解压缩。

你可以这样做:

pip download PyNaCl --platform manylinux1_x86_64 --no-deps -d lambda_project/python/lib/python3.8/site-packages
pip download cffi --platform manylinux1_x86_64 --no-deps -d lambda_project/python/lib/python3.8/site-packages
pip download bcrypt --platform manylinux1_x86_64 --no-deps -d lambda_project/python/lib/python3.8/site-packages
pip download cryptography --platform manylinux2014_x86_64 --no-deps -d lambda_project/python/lib/python3.8/site-packages

cd lambda_project/python/lib/python3.8/site-packages
unzip \*.whl
rm *.whl