使用serverless部署时遇到错误 spawn serverless ENOENT
,在此之前所有服务都已部署。
错误:spawn serverless ENOENT
使用以下版本的serverless和serverless compose
"@serverless/compose": "^1.3.0",
"serverless": "^3.22.0",
serverless-compose.ts 配置
const serverlessCompose = {
services: {
"infra-test": {
path: "infra-test",
},
"client-service": {
path: "client-'service'",
dependsOn: ["infra-test"],
},
},
};
module.exports = serverlessCompose;
完整的命令名称和使用的标志(如果不适用,请填写 "N/A")
serverless deploy --stage sbx
完整的命令输出。
infra-test ›
infra-test › Stack Outputs:
infra-test › ServerlessDeploymentBucketName: infra-test-sbx-serverlessdeploymentbucket-yg91fd
infra-test › 3 deprecations found: run 'serverless doctor' for more details
infra-test › deployed
client-service › deploying
client-service › Running "serverless deploy --stage sbx"
client-service › error
client-service › spawn serverless ENOENT
client-service › Error: spawn serverless ENOENT
client-service › at Process.ChildProcess._handle.onexit (node:internal/child_process:283:19)
client-service › at onErrorNT (node:internal/child_process:476:16)
client-service › at processTicksAndRejections (node:internal/process/task_queues:82:21)
- 我使用以下命令将 serverless-dynamodb-local 版本从 0.2.40 降级到 0.2.30
npm uninstall serverless-dynamodb-local
sls dynamodb uninstall
npm install serverless-dynamodb-local@0.2.30
sls dynamodb install
- removed all serverless local dependacies used by service
- tried with single lambda function as service earlier was having lot of lambdas
- installed sls dynamodb & java using
sls dynamodb install
java➜ sls-compose git:(main) ✗ java --version openjdk 19 2022-09-20 OpenJDK Runtime Environment Homebrew (build 19) OpenJDK 64-Bit Server VM Homebrew (build 19, mixed mode, sharing)