Troubleshooting
Common Errors
Solutions to frequently encountered errors.
Authentication Errors
"Unauthorized" (401)
Error:
Error: 401 Unauthorized - authentication requiredCauses:
- Token not set or expired
- Invalid token format
- Token lacks permissions
Solutions:
# Check token is set
echo $GF_PUB_TOKEN
# Verify token format (should start with gf_live_ or gf_test_)
echo $GF_PUB_TOKEN | cut -d'_' -f1-2
# Test token
curl -H "Authorization: Bearer $GF_PUB_TOKEN" \
https://registry.yourcompany.com/v1/mePackage Errors
"Package not found" (404)
Error:
Error: Package 'my_package' not foundCauses:
- Package name misspelled
- Wrong registry URL
- No access to package
Solutions:
# Check package exists
curl https://registry.yourcompany.com/v1/packages/my_package \
-H "Authorization: Bearer $TOKEN"
# Verify pubspec.yaml
dependencies:
my_package:
hosted:
name: my_package # Check spelling
url: https://registry.yourcompany.com
version: ^1.0.0"Version already exists"
Error:
Error: Version 1.0.0 of my_package already existsSolution: Increment version in pubspec.yaml:
version: 1.0.1 # or 1.1.0, or 2.0.0"Version solving failed"
Error:
Because package_a depends on http ^0.13.0 and package_b depends on http ^1.0.0,
package_a is incompatible with package_b.Solutions:
# See dependency tree
flutter pub deps
# Try latest versions
flutter pub upgrade --major-versions
# Use dependency override (temporary)
dependency_overrides:
http: ^1.0.0Publishing Errors
"Forbidden" (403)
Error:
Error: 403 Forbidden - insufficient permissionsCauses:
- Lack
packages.createpermission - Not workspace member
- Billing limit reached
Solutions:
# Check permissions
curl https://registry.yourcompany.com/v1/me/permissions \
-H "Authorization: Bearer $TOKEN"
# Check workspace membership
curl https://registry.yourcompany.com/v1/workspaces/ws_ID/members/me \
-H "Authorization: Bearer $TOKEN""Payment Required" (402)
Error:
Error: 402 Payment Required - package limit reachedSolution: Upgrade workspace plan:
curl -X POST https://registry.yourcompany.com/v1/workspaces/ws_ID/subscription \
-H "Authorization: Bearer $TOKEN" \
-d '{"plan": "pro"}'Connection Errors
"Connection refused"
Error:
Error: Connection refused to https://registry.yourcompany.comCauses:
- Registry down
- Network issues
- Firewall blocking
Solutions:
# Check registry health
curl https://registry.yourcompany.com/health
# Check DNS
nslookup registry.yourcompany.com
# Check connectivity
ping registry.yourcompany.com"SSL certificate verify failed"
Error:
Error: SSL certificate verify failedSolutions:
# Check certificate
openssl s_client -connect registry.yourcompany.com:443
# Update CA certificates
# macOS
brew install ca-certificates
# Ubuntu
sudo apt-get install ca-certificatesConfiguration Errors
"pub-tokens.json not found"
Error:
Error: Could not find pub-tokens.jsonSolution:
mkdir -p ~/.pub-cache
cat > ~/.pub-cache/pub-tokens.json << EOF
{
"version": 1,
"hosted": [
{
"url": "https://registry.yourcompany.com",
"token": "\${GF_PUB_TOKEN}",
"env": "GF_PUB_TOKEN"
}
]
}
EOF"Invalid pubspec.yaml"
Error:
Error: pubspec.yaml is invalidCommon issues:
# ✗ Bad - no version
name: my_package
description: My package
# ✓ Good - complete
name: my_package
version: 1.0.0
description: My package with description over 60 characters long
environment:
sdk: '>=3.0.0 <4.0.0'CI/CD Errors
"GF_PUB_TOKEN not set"
In CI/CD, ensure secret is configured:
GitHub Actions:
- Settings → Secrets → Actions → New secret
- Name:
GAME_FRAMEWORK_TOKEN
GitLab CI:
- Settings → CI/CD → Variables
- Key:
GAME_FRAMEWORK_TOKEN - Check "Masked"
Getting Help
If you're still stuck:
- Check status page: https://status.gameframework.dev
- Search docs: Use search bar
- Check FAQ: FAQ
- Contact support: support@gameframework.dev
- Community Slack: https://gameframework.dev/community
Still having issues? Email support@gameframework.dev with error details.