Другое ERR_JS_MAINСредняя

A JavaScript error occurred in the main process: быстрое исправление

Эта ошибка обычно появляется в приложениях на базе Electron при повреждении кэша или конфликте драйверов. Вы узнаете, как быстро восстановить работу программы, очистить конфигурацию и обновить компоненты.

Обновлено 2 апреля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Electron-приложения (Discord, VS Code, Slack, OBS)Windows 10/11macOS 12+Ubuntu/Debian 20.04+

Что означает ошибка ERR_JS_MAIN

Сообщение «A JavaScript error occurred in the main process» появляется при запуске программ, собранных на базе фреймворка Electron (Discord, Visual Studio Code, OBS Studio, Slack, Notion и другие). Оно означает, что фоновый процесс приложения (основной поток Node.js) столкнулся с критической ошибкой ещё до отрисовки пользовательского интерфейса.

Обычно система показывает стандартное диалоговое окно ОС с полным текстом исключения и трассировкой стека (stack trace). Приложение зависает, не отвечает на нажатия или закрывается сразу после появления иконки в системном трее.

Причины возникновения

  • Повреждение локального кэша. Файлы index.ldb, Local Storage или session записываются с ошибками из-за внезапного отключения питания, синхронизации облачных дисков или принудительного завершения процесса.
  • Конфликт с драйверами видеокарты. Electron активно использует GPU для аппаратного ускорения. Устаревшие или нестабильные драйверы вызывают сбой инициализации окна рендеринга.
  • Отсутствие системных библиотек. В Linux-дистрибутивах ошибка возникает, если не установлены базовые пакеты libnss3, libatk1.0-0 или libgbm1.
  • Блокировка антивирусом. Защитное ПО ошибочно помечает встроенные JS-скрипты приложения как подозрительные и блокирует их выполнение в памяти.
  • Несовместимость версий. После крупного обновления ОС или переноса профиля старые конфигурационные файлы конфликтуют с архитектурой нового релиза Electron.

Способы решения

Способ 1: Полный сброс процессов и перезапуск

Иногда фоновый процесс остаётся «зависшим» в памяти, что мешает корректному запуску нового экземпляра программы.

  1. Откройте диспетчер задач (Ctrl + Shift + Esc в Windows или System Monitor в Linux/macOS).
  2. Перейдите на вкладку «Подробности» или «Процессы».
  3. Найдите все процессы с названием приложения (например, discord.exe, code, slack).
  4. Выделите каждый и нажмите «Снять задачу».
  5. Запустите программу заново.

💡 Совет: Если окно с ошибкой появляется мгновенно, попробуйте запустить приложение с флагом отключения GPU. В свойствах ярлыка Windows добавьте в поле «Объект» --disable-gpu (обязательно через пробел в конце). Для macOS/Linux используйте терминал: ./app --disable-gpu.

Способ 2: Очистка повреждённого кэша и настроек

Самый эффективный метод. Мы удалим только локальные файлы конфигурации, сохранив аккаунтные данные, которые хранятся на серверах разработчика.

  1. Полностью закройте приложение (проверьте диспетчер задач).
  2. Откройте файловый менеджер и перейдите в директорию настроек:
    • Windows: нажмите Win + R, введите %appdata% и %localappdata%
    • macOS: в Finder нажмите Cmd + Shift + G, введите ~/Library/Application Support/
    • Linux: откройте терминал и перейдите в ~/.config/
  3. Найдите папку с названием приложения (например, Discord, Code, slack).
  4. Переименуйте её, добавив суффикс .old (например, Discord.old).
  5. Запустите программу. Она автоматически создаст чистую папку с настройками по умолчанию.

Способ 3: Обновление среды и проверка зависимостей

Если проблема возникает после обновления системы или миграции на новое устройство, убедитесь, что все компоненты актуальны и совместимы.

  1. Перейдите на официальный сайт приложения и скачайте последнюю стабильную сборку. Установите её поверх текущей.
  2. Обновите драйверы видеокарты через официальный портал производителя (NVIDIA, AMD, Intel).
  3. Для Linux пользователей: выполните в терминале установку недостающих библиотек. Пример для Debian/Ubuntu:
# Обновляем списки пакетов
sudo apt update
# Устанавливаем зависимости для рендеринга и сетевого стека
sudo apt install -y libnss3 libatk-bridge2.0-0 libdrm2 libgbm1 libasound2 libx11-xcb1
  1. Перезагрузите компьютер и проверьте запуск приложения.

Способ 4: Принудительное отключение аппаратного ускорения через конфиг

Если обновление драйверов невозможно, можно отключить GPU-рендеринг на уровне конфигурационного файла.

  1. Откройте папку конфигурации приложения (как в Способе 2).
  2. Найдите файл config.json или settings.json в корне директории. Если файл отсутствует, создайте его вручную.
  3. Добавьте или измените следующий параметр:
{
  "disableHardwareAcceleration": true
}
  1. Сохраните изменения и запустите программу. Интерфейс может работать чуть медленнее, но критическая ошибка исчезнет.

Профилактика

Чтобы избежать повторения сбоя, придерживайтесь простых правил обслуживания Electron-приложений:

  • Регулярно устанавливайте обновления. Разработчики закрывают уязвимости и адаптируют код под новые версии ОС и браузерных движков.
  • Не отключайте компьютер во время работы программы, особенно при загрузке фоновых обновлений или синхронизации данных.
  • Добавляйте важные программы в исключения антивируса и файервола, чтобы избежать случайной блокировки легитимных JS-скриптов.
  • Следите за свободным местом на системном диске. Нехватка места приводит к повреждению файлов кэша, журналов и временных данных.
  • Делайте резервные копии папок конфигурации (AppData или ~/.config) перед крупными обновлениями системы или чистыми установками ОС.

Часто задаваемые вопросы

Почему эта ошибка появляется только в одном конкретном приложении?
Можно ли просто переустановить приложение, чтобы исправить ошибку?
Безопасно ли отключать аппаратное ускорение в Electron?

Полезное

Завершите фоновые процессы
Очистите папку конфигурации
Запустите с флагом отключения GPU
Обновите приложение и драйверы

Эта статья помогла вам решить проблему?