Sharp on AWS Amplify 后端 Lambda 导致构建失败
Sharp on AWS Amplify Backend Lambda Causing Build to Fail
我是 aws amplify 的新手,我有一个 amplify 应用程序,它有一个使用 sharp 作为依赖项的后端 lambda 函数。当我推送到 git 以触发部署时,我的构建失败了,我认为是由于 vips/vips8
没有找到明显的依赖关系。
相关日志
2022-05-31T18:26:18.714Z [INFO]: [0mError: Packaging lambda function failed with the error [0m
[0mCommand failed with exit code 1: npm install --no-bin-links --production[0m
[0msh: prebuild-install: command not found[0m
[0m../src/common.cc:24:10: fatal error: vips/vips8: [0m
[0m #include <vips/vips8>[0m
[0m ^~~~~~~~~~~~[0m
[0mcompilation terminated.[0m
[0mmake: *** [Release/obj.target/sharp-linux-x64/src/common.o] Error 1[0m
[0mgyp ERR! build error [0m
[0mgyp ERR! stack Error: `make` failed with exit code: 2[0m
[0mgyp ERR! stack at ChildProcess.onExit (/root/.nvm/versions/node/v14.19.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)[0m
[0mgyp ERR! stack at ChildProcess.emit (events.js:400:28)[0m
[0mgyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12)[0m
[0mgyp ERR! System Linux 4.14.246-187.474.amzn2.x86_64[0m
[0mgyp ERR! command "/root/.nvm/versions/node/v14.19.0/bin/node" "/root/.nvm/versions/node/v14.19.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"[0m
[0mgyp ERR! cwd /codebuild/output/src927006233/src/create-react-app-auth-amplify/amplify/backend/function/S3Trigger71b5b76d/src/node_modules/sharp[0m
[0mgyp ERR! node -v v14.19.0[0m
[0mgyp ERR! node-gyp -v v5.1.0[0m
[0mgyp ERR! not ok [0m
[0mnpm WARN S3Trigger71b5b76d@2.0.0 No repository field.[0m
运行 amplify push
从我的 windows 框中打包 lambda 并部署它工作得很好,问题仅在它从 github 拉出并尝试时通过放大构建平台 运行。我是运行宁节点 v 16
感谢任何想法!我的 google-foo 这次让我失望了。
我有完全相同的问题。为了使其在带有放大推送的 lambda 上工作,我必须 运行 backend/function/function_name/src 文件夹 npm install --arch=x64 --platform=linux sharp
中的以下内容。但是当推送到 git 时,触发的部署以同样的方式失败。
根据the installation guide for AWS Lambda你可以将以下命令作为preinstall脚本添加到package.json的package.json您的放大 lambda:
{
"name": "file-storage-get-s3-signed-link",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"preinstall": "SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install --arch=x64 --platform=linux --libc=glibc sharp"
}
}
我是 aws amplify 的新手,我有一个 amplify 应用程序,它有一个使用 sharp 作为依赖项的后端 lambda 函数。当我推送到 git 以触发部署时,我的构建失败了,我认为是由于 vips/vips8
没有找到明显的依赖关系。
相关日志
2022-05-31T18:26:18.714Z [INFO]: [0mError: Packaging lambda function failed with the error [0m
[0mCommand failed with exit code 1: npm install --no-bin-links --production[0m
[0msh: prebuild-install: command not found[0m
[0m../src/common.cc:24:10: fatal error: vips/vips8: [0m
[0m #include <vips/vips8>[0m
[0m ^~~~~~~~~~~~[0m
[0mcompilation terminated.[0m
[0mmake: *** [Release/obj.target/sharp-linux-x64/src/common.o] Error 1[0m
[0mgyp ERR! build error [0m
[0mgyp ERR! stack Error: `make` failed with exit code: 2[0m
[0mgyp ERR! stack at ChildProcess.onExit (/root/.nvm/versions/node/v14.19.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)[0m
[0mgyp ERR! stack at ChildProcess.emit (events.js:400:28)[0m
[0mgyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12)[0m
[0mgyp ERR! System Linux 4.14.246-187.474.amzn2.x86_64[0m
[0mgyp ERR! command "/root/.nvm/versions/node/v14.19.0/bin/node" "/root/.nvm/versions/node/v14.19.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"[0m
[0mgyp ERR! cwd /codebuild/output/src927006233/src/create-react-app-auth-amplify/amplify/backend/function/S3Trigger71b5b76d/src/node_modules/sharp[0m
[0mgyp ERR! node -v v14.19.0[0m
[0mgyp ERR! node-gyp -v v5.1.0[0m
[0mgyp ERR! not ok [0m
[0mnpm WARN S3Trigger71b5b76d@2.0.0 No repository field.[0m
运行 amplify push
从我的 windows 框中打包 lambda 并部署它工作得很好,问题仅在它从 github 拉出并尝试时通过放大构建平台 运行。我是运行宁节点 v 16
感谢任何想法!我的 google-foo 这次让我失望了。
我有完全相同的问题。为了使其在带有放大推送的 lambda 上工作,我必须 运行 backend/function/function_name/src 文件夹 npm install --arch=x64 --platform=linux sharp
中的以下内容。但是当推送到 git 时,触发的部署以同样的方式失败。
根据the installation guide for AWS Lambda你可以将以下命令作为preinstall脚本添加到package.json的package.json您的放大 lambda:
{
"name": "file-storage-get-s3-signed-link",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"preinstall": "SHARP_IGNORE_GLOBAL_LIBVIPS=1 npm install --arch=x64 --platform=linux --libc=glibc sharp"
}
}