我正试图在Vercel上的服务器较少功能中使用画布,但我遇到了一个错误,我不知道如何绕过:
Error: /lib64/libz.so.1: version
ZLIB_1.2.9' not found (required by/var/task/api/node_modules/canvas/build/Release/libpng16.so.16) '
我的包里有这个。Json,但它似乎安装了zlib 1.2.7:
"scripts": {
"vercel-build": "yum install libuuid-devel libmount-devel zlib && cp /lib64/{libuuid,libmount,libblkid,libz}.so.1 node_modules/canvas/build/Release/"
},
正如我在构建日志zlib-1.2.7-18.amzn2.x86_64 already installed and latest version
中看到的那样如何安装1.2.9 ?
我不知道你是否找到了一个解决方案,但如果这对任何人都有用,降级canvas
到v2.6.1
在我的情况下有所帮助。降级canvas可能还需要使用node 14x
而不是node 16
或更高版本,因为如果您尝试在node 16
或更高版本上安装canvas 2.6.1
,node-gyp
往往会抛出错误。
还可能需要将构建命令附加到额外的vercel脚本。如:"yum install libuuid-devel libmount-devel zlib && cp /lib64/{libuuid,libmount,libblkid,libz}.so.1 node_modules/canvas/build/Release/ && npm run build"
.