Ошибка Failed to load url /src/main.jsx в Vite React: причины и исправление
При запуске нового проекта Vite + React на Windows разработчики часто сталкиваются с ошибкой [vite] Pre-transform error: Failed to load url /src/main.jsx. Эта проблема возникает даже при наличии файла main.jsx в папке src и корректном импорте в index.html. В статье разберём основные причины сбоя и пошаговые методы решения.
Почему Vite не видит main.jsx?
Ошибка Failed to load url /src/main.jsx указывает, что Vite не может найти или преобразовать точку входа. Наиболее частые причины:
- Длинный путь к проекту - Windows имеет ограничение на длину пути (260 символов). Если вложенность папок большая, Vite может не загрузить модуль.
- Повреждённый кэш Vite - после повторных созданий проекта в той же директории остаются старые ссылки.
- Конфликт версий зависимостей - устаревшие или несовместимые пакеты
viteи@vitejs/plugin-react. - Проблемы с правами доступа - антивирус или система блокирует чтение файла.
Как исправить ошибку Failed to load url /src/main.jsx
1. Проверьте путь к проекту
Сократите путь до минимума. Например, разместите проект в корне диска: Z:\myapp. Убедитесь, что общая длина пути не превышает 150-200 символов.
2. Полностью очистите кэш Vite и node_modules
Выполните в терминале:
rm -rf node_modules package-lock.json
npm cache clean --force
npm installПосле этого удалите папку node_modules/.vite вручную, если она осталась.
3. Пересоздайте проект с нуля
Используйте команду:
npm create vite@latest my-app -- --template reactНе копируйте старые файлы конфигурации - это может привнести битые ссылки.
4. Обновите Node.js и npm
Установите последнюю LTS-версию Node.js (рекомендуется 18.x или 20.x). Проверьте версии:
node -v
npm -v5. Отключите антивирус или добавьте исключение
Некоторые антивирусы (например, Kaspersky, Windows Defender) блокируют чтение файлов в папках node_modules. Временно отключите защиту в реальном времени или добавьте папку проекта в исключения.
Дополнительные советы для Windows
Если проблема повторяется, попробуйте:
- Запустить терминал от имени администратора.
- Использовать WSL (Windows Subsystem for Linux) - там нет ограничения на длину пути.
- Проверить, не конфликтует ли файл
vite.config.js- временно переименуйте его и проверьте запуск.
В редких случаях помогает перезагрузка компьютера, так как некоторые процессы могут удерживать блокировку на файлы.
Профилактика ошибки в будущем
Чтобы избежать повторения сбоя, соблюдайте правила:
- Создавайте проекты в коротких путях (например,
C:\projects\myapp). - Регулярно обновляйте шаблон Vite через
npm update. - Не перемещайте проект после его инициализации - лучше создайте заново.