Skip to content

Troubleshooting

Common issues and their solutions

Error: command not found: deno

Solution:

Terminal window
# Ensure Deno is in your PATH
export PATH="$HOME/.deno/bin:$PATH"
# Add to ~/.bashrc or ~/.zshrc for permanent fix
echo 'export PATH="$HOME/.deno/bin:$PATH"' >> ~/.bashrc

Error: Permission denied: ./spry.ts

Solution:

Terminal window
chmod +x spry.ts

Error: Circular dependency in task graph

Solution:

Check your --dep flags. Tasks cannot depend on each other in a cycle.

# ❌ Wrong: Circular dependency
​```bash task-a --dep task-b
​```
​```bash task-b --dep task-a
​```
# ✅ Correct: Linear dependency
​```bash task-a
​```
​```bash task-b --dep task-a
​```

Error: Task 'xyz' not found in Spryfile

Solution:

  • Check task name spelling in your Spryfile.md
  • Ensure the task has a name after the language identifier
  • Task names are case-sensitive

SQLPage returns 404 for your routes

Solutions:

  • Check that files were generated: ls dev-src.auto/
  • Verify SQLPage configuration points to correct directory
  • Ensure SQLPage server is running
  • Check site_prefix in sqlpage.json

Error: database is locked

Solutions:

Terminal window
# Close other connections to the database
pkill sqlpage
# Remove lock file if it exists
rm app.db-shm app.db-wal
# Restart SQLPage
SQLPAGE_SITE_PREFIX="" sqlpage

SQL syntax errors from template interpolation

Solution:

Check generated files in dev-src.auto/ to see actual output

Terminal window
cat dev-src.auto/problematic-route.sql

Cannot connect to PostgreSQL

Solutions:

Terminal window
# Verify PostgreSQL is running
pg_isready
# Check connection string
echo $DATABASE_URL
# Test connection manually
psql $DATABASE_URL

Database schema migration errors

Solutions:

  • Check SQL syntax in schema files
  • Ensure migrations run in correct order
  • Verify database user has CREATE permissions
  • Try running migrations manually to see detailed errors

Changes to Spryfile.md don’t trigger regeneration

Solutions:

  • Restart watch mode
  • Check file system permissions
  • Try manual generation without --watch
  • Ensure you’re editing the correct Spryfile.md

If you’re still experiencing issues: