Как проявляется
При запуске команды openclaw plugins install на Windows установка плагина завершается ошибкой spawn EINVAL до запуска npm.
Из-за чего возникает
Ошибка возникает из-за того, что OpenClaw пытается запустить npm.cmd через child_process.spawn без параметра shell: true, что не поддерживается в Windows для .cmd файлов.
Как исправить
- Найдите в коде OpenClaw файл, где происходит вызов spawn для npm (например, dist/process/exec.js).
- Измените вызов spawn, добавив параметр shell: true при работе на Windows:
const isWindows = process.platform === "win32";
const child = spawn(resolveCommand(argv[0]), argv.slice(1), {
stdio,
cwd,
env: resolvedEnv,
shell: isWindows,
windowsVerbatimArguments: isWindows ? false : windowsVerbatimArguments,
});
- Сохраните изменения и повторите установку плагина.
Данное решение основано на обсуждении в issue и подтверждено как рабочее для устранения ошибки spawn EINVAL при вызове npm.cmd на Windows.
Как не столкнуться снова
При использовании OpenClaw на Windows убедитесь, что вызовы child_process.spawn для .cmd файлов выполняются с параметром shell: true.
Источник
Разбор основан на обсуждении в репозитории проекта: issue #7631.
Другие типичные проблемы — в разделе ошибок и решений, а базовая настройка разобрана в первом запуске.