首页 > 解决方案 > 如何使用柴油和 mysql 调用/部署无服务器功能?

问题描述

当我尝试使用serverless-rust插件测试调用无服务器函数处理程序时,出现错误

/usr/bin/ld: cannot find -lmysqlclient
collect2: error: ld returned 1 exit status

标签: mysqlaws-lambdarustserverless-frameworkrust-diesel

解决方案


您将需要使用 docker builder 中的挂钩lambda-rust安装必要的依赖项并将库文件包含在打包的构建中。

首先在名为的项目的根目录下创建一个目录,.lambda-rust并在其中创建两个文件:

install

#!/usr/bin/env bash

echo "installing mysql dependencies"
yum install -y mysql-devel

package

#!/usr/bin/env bash

echo "packaging mysql library"
zip -j "$1.zip" /usr/lib64/mysql/libmysqlclient.so.18

调整为您安装的库文件的名称(我echo $(ls /usr/lib64/mysql)在其中一个脚本中添加了一行以查看安装后存在哪些文件)


推荐阅读