diff --git a/packages/next/src/server/lib/start-server.ts b/packages/next/src/server/lib/start-server.ts index 8ec1ad1b671d1..f19cdd24a5309 100644 --- a/packages/next/src/server/lib/start-server.ts +++ b/packages/next/src/server/lib/start-server.ts @@ -203,6 +203,7 @@ export async function startServer( }) let portRetryCount = 0 + const originalPort = port server.on('error', (err: NodeJS.ErrnoException) => { if ( @@ -212,7 +213,6 @@ export async function startServer( err.code === 'EADDRINUSE' && portRetryCount < 10 ) { - Log.warn(`Port ${port} is in use, trying ${port + 1} instead.`) port += 1 portRetryCount += 1 server.listen(port, hostname) @@ -244,6 +244,12 @@ export async function startServer( port = typeof addr === 'object' ? addr?.port || port : port + if (portRetryCount) { + Log.warn( + `Port ${originalPort} is in use, using available port ${port} instead.` + ) + } + const networkHostname = hostname ?? getNetworkHost(isIPv6(actualHostname) ? 'IPv6' : 'IPv4') diff --git a/test/integration/cli/test/index.test.js b/test/integration/cli/test/index.test.js index 87a0fda5cdafa..13765c992f1a0 100644 --- a/test/integration/cli/test/index.test.js +++ b/test/integration/cli/test/index.test.js @@ -675,7 +675,9 @@ describe('CLI Usage', () => { await killApp(appTwo).catch(console.error) } - expect(output).toMatch('⚠ Port 3000 is in use, trying 3001 instead.') + expect(output).toMatch( + '⚠ Port 3000 is in use, using available port 3001 instead.' + ) }) test('-p reserved', async () => {