📚
【ServerlessFramework】【解決方法】`serverless dynamodb install`が失敗する
はじめに
久しぶりにServerlessFrameworkのローカル環境を構築しようとしたところ、DynamoDB Localまわりで、以前は発生しなかったエラーが出てきたので、解決方法の備忘録です。
terminal
$ serverless dynamodb install
# ...(略)
Error: Error getting DynamoDb local latest tar.gz location undefined: 403
# ...(略)
原因
-
serverless-dynamodb-local
がDynamoDB Localの新しいバージョンに対応できてない。
解決方法
-
serverless-dynamodb-local
からフォークされたserverless-dynamodb
を利用する。
移行手順
1. serverless-dynamodb-localをアンインストールする
導入済みのserverless-dynamodb-local
をアンインストールします。
terminal
$ serverless plugin uninstall -n serverless-dynamodb-local
2. serverless-dynamodbをインストールする
新たにserverless-dynamodb
をインストールします。
terminal
$ serverless plugin install -n serverless-dynamodb
3. serverless.ymlを修正する
インストールしたserverless-dynamodb
がplugins
の末尾に追加されてるため、serverless-offline
より前に実行されるように、serverless.yml
を修正します。
serverless.yml
custom:
- dynamodb:
- xxx: xxx
- xxx: xxx
+ serverless-dynamodb:
+ port: 8000
+ docker: false
+ start:
+ migrate: true
+ host: 127.0.0.1
+ stages:
+ - dev
plugins:
+ - serverless-dynamodb
- serverless-offline
- - serverless-dynamodb
動作確認
DynamoDB Localをインストールする
terminal
$ serverless dynamodb install
# ...(略)
Installation complete!
DynamoDB Localを起動する
terminal
$ serverless dynamodb start
Dynamodb Local Started, Visit: http://localhost:8000/shell
DynamoDB - created table xxx-xxx-dev
Discussion