Back to Next Js

`deploymentId` contains invalid characters

errors/deploymentid-invalid-characters.mdx

16.2.51.8 KB
Original Source

Why This Error Occurred

The deploymentId in your next.config.js contains characters that are not allowed. Only alphanumeric characters (a-z, A-Z, 0-9), hyphens (-), and underscores (_) are permitted.

Possible Ways to Fix It

Option 1: Remove Invalid Characters

Remove or replace any characters that are not alphanumeric, hyphens, or underscores:

js
// ✅ Correct
module.exports = {
  deploymentId: 'my-deployment-123', // Only alphanumeric, hyphens, underscores
}

// ❌ Incorrect
module.exports = {
  deploymentId: 'my deployment 123', // Contains spaces
  deploymentId: 'my.deployment.123', // Contains dots
  deploymentId: 'my/deployment/123', // Contains slashes
  deploymentId: 'my@deployment#123', // Contains special characters
}

Option 2: Sanitize the Deployment ID

If you're generating the ID from environment variables or other sources, sanitize it to remove invalid characters:

js
// next.config.js
const rawId = process.env.DEPLOYMENT_ID || 'default-id'
// Remove all characters that are not alphanumeric, hyphens, or underscores
const sanitizedId = rawId.replace(/[^a-zA-Z0-9_-]/g, '')

module.exports = {
  deploymentId: sanitizedId,
}

Option 3: Use a Valid Format

Common valid formats include:

js
// next.config.js
module.exports = {
  // Using hyphens
  deploymentId: 'my-deployment-id',

  // Using underscores
  deploymentId: 'my_deployment_id',

  // Alphanumeric only
  deploymentId: 'mydeployment123',

  // Mixed format
  deploymentId: 'my-deployment_123',
}

Additional Information

  • The deployment ID is used for skew protection and asset versioning
  • Invalid characters can cause issues with URL encoding and routing
  • Keep the ID URL-friendly by using only the allowed character set
  • The validation ensures compatibility across different systems and environments