diff --git a/src/managers/builtin/helpers.ts b/src/managers/builtin/helpers.ts index 4f71b9b4..7dc0bee4 100644 --- a/src/managers/builtin/helpers.ts +++ b/src/managers/builtin/helpers.ts @@ -38,6 +38,11 @@ export async function runUV( reject(new CancellationError()); }); + proc.on('error', (err) => { + log?.error(`Error spawning uv: ${err}`); + reject(new Error(`Error spawning uv: ${err.message}`)); + }); + let builder = ''; proc.stdout?.on('data', (data) => { const s = data.toString('utf-8'); @@ -72,6 +77,12 @@ export async function runPython( proc.kill(); reject(new CancellationError()); }); + + proc.on('error', (err) => { + log?.error(`Error spawning python: ${err}`); + reject(new Error(`Error spawning python: ${err.message}`)); + }); + let builder = ''; proc.stdout?.on('data', (data) => { const s = data.toString('utf-8'); diff --git a/src/managers/builtin/venvManager.ts b/src/managers/builtin/venvManager.ts index 80bbd637..f0a2af14 100644 --- a/src/managers/builtin/venvManager.ts +++ b/src/managers/builtin/venvManager.ts @@ -230,6 +230,11 @@ export class VenvManager implements EnvironmentManager { }`, ); } + } else if (result?.envCreationErr) { + // Show error message to user when environment creation failed + showErrorMessage( + l10n.t('Failed to create virtual environment: {0}', result.envCreationErr), + ); } return result?.environment ?? undefined; } finally { diff --git a/src/managers/conda/condaEnvManager.ts b/src/managers/conda/condaEnvManager.ts index d43743d8..82143cae 100644 --- a/src/managers/conda/condaEnvManager.ts +++ b/src/managers/conda/condaEnvManager.ts @@ -191,6 +191,9 @@ export class CondaEnvManager implements EnvironmentManager, Disposable { return result; } catch (error) { this.log.error('Failed to create conda environment:', error); + showErrorMessage( + l10n.t('Failed to create conda environment: {0}', error instanceof Error ? error.message : String(error)), + ); return undefined; } } diff --git a/src/managers/conda/condaUtils.ts b/src/managers/conda/condaUtils.ts index b83be769..80ffed55 100644 --- a/src/managers/conda/condaUtils.ts +++ b/src/managers/conda/condaUtils.ts @@ -212,6 +212,11 @@ async function _runConda( deferred.reject(new CancellationError()); }); + proc.on('error', (err) => { + log?.error(`Error spawning conda: ${err}`); + deferred.reject(new Error(`Error spawning conda: ${err.message}`)); + }); + let stdout = ''; let stderr = ''; proc.stdout?.on('data', (data) => {