如何使用柴油和mysql调用/部署无服务器功能?

问题描述

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

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

解决方法

您将需要使用lambda-rust泊坞窗构建器中的hooks来安装必要的依赖项,并将库文件包含在打包的构建中。

首先在名为.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)添加了一行,以查看安装后存在的文件)