Unable to start DynamoDB Local process

TL;DR — DynamoDB Local (a Java app) couldn't launch. The usual causes are a missing or too-old Java runtime, port 8000 already taken, or the serverless-dynamodb plugin never downloaded the jar. Fix Java, free the port, or re-install.

What it means

You'll see it from the serverless-dynamodb / serverless-dynamodb-local plugin, or when running the jar directly:

Unable to start DynamoDB Local process!

The child process that runs the local emulator failed to spawn or exited immediately.

Why it happens

  • No Java, or an incompatible version. DynamoDB Local needs a JRE (recent versions require Java 11+). If java -version fails, that's it.
  • Port already in use — something else is on 8000 (a previous instance that didn't shut down).
  • The jar was never installedsls dynamodb install didn't run or failed, so there's nothing to start.
  • A path/permissions problem with the install directory.
  • Apple Silicon / arch mismatch with an old jar that bundles native SQLite libs.

How to fix it

  1. Install/verify Java 11+: java -version. If missing, install a JRE (e.g. Temurin/OpenJDK 11+).
  2. Re-install DynamoDB Local:
    npx serverless dynamodb install
  3. Free the port (or change it): find what's on 8000 and stop it —
    lsof -i :8000   # then kill the PID, or configure a different port
  4. Use the official Docker image to sidestep Java/arch issues entirely:
    docker run -p 8000:8000 amazon/dynamodb-local
  5. Point your client at it with a placeholder region + endpoint (see Missing region in config).

不必透過主控台就能操作 DynamoDB

DynoTable 是一款快速的 DynamoDB 桌面用戶端 — 瀏覽表格、執行 SQL 風格的查詢,並在本機編輯項目。