From eaf891e1027b2234e8d2e4775159837cf32b578d Mon Sep 17 00:00:00 2001 From: Johannes Krobath Date: Tue, 14 Jul 2026 08:49:41 +0200 Subject: [PATCH 1/2] fix(cli): recognise npm >=10.6.0 "npm error" prefix in ENOTEMPTY self-heal handleNpmNotEmptyError() reads the failed destination path from stderr via `startsWith('npm ERR! dest')`. Since npm/cli#7414 (npm v10.6.0) npm prints the log-level name, so the line is `npm error dest ...`. The path is never extracted, the temp-dir deletion + retry is skipped, and the install aborts with "Could not handle ENOTEMPTY, because no deletable files were found". Match both the old and current prefix. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 3 +++ packages/cli/src/lib/setup/setupInstall.ts | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53695e8e1b..864b80359c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ Placeholder for the next version (at the beginning of the line): ## __WORK IN PROGRESS__ --> +## __WORK IN PROGRESS__ +* (@krobipd) Fixed the automatic ENOTEMPTY recovery not removing the blocking npm temp directory on npm >= 10.6.0 (npm changed its error output prefix from `npm ERR!` to `npm error`), which made adapter installs/updates abort with "Could not handle ENOTEMPTY, because no deletable files were found" + ## 7.2.2 (2026-06-16) * (@Apollon77) Fixed Sentry session reporting disabling diff --git a/packages/cli/src/lib/setup/setupInstall.ts b/packages/cli/src/lib/setup/setupInstall.ts index 6c077d1ede..7ae44ab199 100644 --- a/packages/cli/src/lib/setup/setupInstall.ts +++ b/packages/cli/src/lib/setup/setupInstall.ts @@ -431,7 +431,7 @@ export class Install { const errorFilePath = result.stderr .split('\n') - ?.find(line => line.startsWith('npm ERR! dest')) + ?.find(line => line.startsWith('npm ERR! dest') || line.startsWith('npm error dest')) ?.split('dest')[1] .trim(); From 5978bc4547e239c3fd469ba3d942d7d2cba0456b Mon Sep 17 00:00:00 2001 From: Ingo Fischer Date: Fri, 17 Jul 2026 14:05:45 +0200 Subject: [PATCH 2/2] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 864b80359c..b192da5711 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ## __WORK IN PROGRESS__ --> ## __WORK IN PROGRESS__ -* (@krobipd) Fixed the automatic ENOTEMPTY recovery not removing the blocking npm temp directory on npm >= 10.6.0 (npm changed its error output prefix from `npm ERR!` to `npm error`), which made adapter installs/updates abort with "Could not handle ENOTEMPTY, because no deletable files were found" +* (@krobipd) Fixed the automatic ENOTEMPTY recovery not removing the blocking npm temp directory on npm >= 10.6.0 ## 7.2.2 (2026-06-16) * (@Apollon77) Fixed Sentry session reporting disabling