Serverless Framework에서 AWS 람다 함수 배포에 문제가 있습니다. 나는 grpc
패키지가 필요한 @google-cloud-firestore
npm 패키지를 사용합니다. I 이해로AWS 람다 오류 : 현재 시스템에 설치되지 않았기 때문에 gRPC 바이너리 모듈을로드하지 못했습니다.
{
"errorMessage": "Failed to load gRPC binary module because it was not installed for the current system\nExpected directory: node-v48-linux-x64-glibc\nFound: [node-v59-darwin-x64-unknown]\nThis problem can often be fixed by running \"npm rebuild\" on the current system\nOriginal error: Cannot find module '/var/task/node_modules/grpc/src/node/extension_binary/node-v48-linux-x64-glibc/grpc_node.node'",
"errorType": "Error",
"stackTrace": [
"Found: [node-v48-linux-x64-unknown]",
"This problem can often be fixed by running \"npm rebuild\" on the current system",
"Original error: Cannot find module '/var/task/node_modules/grpc/src/node/extension_binary/node-v48-linux-x64-glibc/grpc_node.node'",
"Object.<anonymous> (/var/task/node_modules/grpc/src/grpc_extension.js:44:17)",
"Module._compile (module.js:570:32)",
"Object.Module._extensions..js (module.js:579:10)",
"Module.load (module.js:487:32)",
"tryModuleLoad (module.js:446:12)",
"Function.Module._load (module.js:438:3)",
"Module.require (module.js:497:17)",
"require (internal/module.js:20:19)",
"Object.<anonymous> (/var/task/node_modules/grpc/src/client.js:38:12)",
"Module._compile (module.js:570:32)",
"Object.Module._extensions..js (module.js:579:10)",
"Module.load (module.js:487:32)",
"tryModuleLoad (module.js:446:12)",
"Function.Module._load (module.js:438:3)",
"Module.require (module.js:497:17)",
"require (internal/module.js:20:19)"
]
}
그래서, 람다 타겟 node-v48-linux-x64-glibc
가 npm i -S grpc --target=6.4.0 --target_arch=x64 --target_platform=linux
가 node-v48-linux-x64-unknown
에 node-v59-darwin-x64-unknown
변경 만했다 타이핑 내장 GRPS를 필요
기능의 실행은 에러가 발생.
unknown
을 어떻게 변경합니까? glibc
?
도움이 될 것입니다.
가있을 수 있습니다 더 나은 솔루션,하지만 (HTTP를 [람다 실행 환경 AMI]을 사용하여 만든 시스템에서 모듈을 구축하는 것입니다 마음에 오는 명백한 : // docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html). –