remotion-dev/remotion · error · Error
Failed to upgrade Remotion, see logs above
Error message
Failed to upgrade Remotion, see logs above
What it means
Thrown by the upgrade command after the spawned package-manager process (npm/yarn/bun/pnpm install) exits with a non-zero code while stdio was set to 'inherit' (log level at or below 'info'). The installer's own output was streamed to the terminal, so the message points you to those logs.
Source
Thrown at packages/cli/src/upgrade.ts:293
logLevel: LogLevel;
}) => {
const task = spawn(manager, command, {
env: {
...process.env,
ADBLOCK: '1',
DISABLE_OPENCOLLECTIVE: '1',
},
stdio: RenderInternals.isEqualOrBelowLogLevel(logLevel, 'info')
? 'inherit'
: 'ignore',
});
await new Promise<void>((resolve) => {
task.on('close', (code) => {
if (code === 0) {
resolve();
} else if (RenderInternals.isEqualOrBelowLogLevel(logLevel, 'info')) {
throw new Error('Failed to upgrade Remotion, see logs above');
} else {
throw new Error(
'Failed to upgrade Remotion, run with --log=info info to see logs',
);
}
});
});
};
View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Scroll up in the terminal and read the package-manager error output immediately preceding this message.
- Address the underlying error: resolve version conflicts, fix peer deps, retry on a network blip.
- For monorepo conflicts, upgrade all @remotion/* packages together (`npx remotion upgrade` does this; mixing manual installs can desync).
- Clear the lockfile and node_modules if corrupted: `rm -rf node_modules package-lock.json && npm install`.
Example fix
// before $ npx remotion upgrade ... npm ERR! ERESOLVE could not resolve ... Failed to upgrade Remotion, see logs above // after - resolve conflict then retry $ npm install --legacy-peer-deps # or fix the conflicting version $ npx remotion upgrade
Defensive patterns
Strategy: try-catch
Validate before calling
const {spawnSync} = require('child_process');
const preflightUpgrade = (manager: string) => {
const dry = spawnSync(manager, ['install', '--dry-run'], {stdio: 'pipe'});
if (dry.status !== 0) {
throw new Error(`Pre-upgrade install check failed:\n${dry.stderr.toString()}`);
}
};
preflightUpgrade(packageManager); Try / catch
try {
await upgradeCli({logLevel: 'info'});
} catch (err) {
if (err instanceof Error && err.message === 'Failed to upgrade Remotion, see logs above') {
// inspect installer output already streamed; resolve conflicts then retry
}
throw err;
} Prevention
- Keep all @remotion/* versions in sync to avoid peer-dep conflicts.
- Run upgrades with --log=info so installer output is visible.
- In monorepos, use the workspace install command rather than manual per-package upgrades.
When it happens
Trigger: The package manager failed during `remotion upgrade`: a version conflict, a peer-dep error, a network failure, a registry outage, or an incompatible Node/Bun version. Because logs were visible, the root cause is in the terminal scrollback.
Common situations: Conflicting Remotion versions across a monorepo; a peer dependency conflict with another package; transient npm registry errors; corporate proxy blocking the registry; a corrupted package-lock that fails to update.
Related errors
- No lockfile was found in your project (one of ${StudioServer
- Failed to upgrade Remotion, run with --log=info info to see
- No lockfile was found in your project (one of ${StudioServer
- The following packages are not Remotion packages: ${invalidP
- Could not determine version of installed Remotion packages:
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/d50d94ca6bcc4803.
Report an issue: GitHub.