Flutter. Can't run flutter project on emulator - filename too long error

Ошибка "слишком длинное имя файла" при запуске Flutter-проекта на эмуляторе является распространённой проблемой, особенно на Windows. Она обычно возникает из-за ограничения длины пути в Windows (по умолчанию 260 символов). Пути Flutter-проектов, особенно с глубоко вложенными директориями, могут легко превысить этот лимит.

Решения:

1. Включение длинных путей в Windows:

Windows 10 и более поздние версии поддерживают пути длиннее 260 символов, но эта функция отключена по умолчанию. Вы можете включить её:

  1. Нажмите Windows + R, введите gpedit.msc и нажмите Enter, чтобы открыть редактор групповой политики.
  2. Перейдите в Политика локального компьютера -> Конфигурация компьютера -> Административные шаблоны -> Система -> Файловая система.
  3. Дважды щелкните на Разрешить длинные пути для Win32.
  4. Установите значение Включено и нажмите ОК.
  5. Перезагрузите компьютер, чтобы изменения вступили в силу.

2. Сократите путь к вашему проекту:

Переместите папку вашего Flutter-проекта в директорию с более коротким путём, например, C:\flutter_projects. Это уменьшит длину путей файлов.

3. Использование Git с сокращёнными путями (только для Windows):

Если вы используете Git, вы можете включить поддержку длинных путей с помощью опции core.longpaths:

  • Откройте Git Bash или командную строку и выполните:
    git config --system core.longpaths true
    

4. Использование команды subst:

Вы можете смонтировать вашу папку с проектом на букву диска с помощью команды subst, чтобы сократить путь:

  • Откройте командную строку и выполните:
    subst X: C:\your\long\path\to\flutter\project
    

     

  • Замените X: на любую свободную букву диска и замените путь на путь к вашему Flutter-проекту.
  • Затем откройте ваш проект с новым диском (например, X:\) в вашей IDE.

5. Обновите Flutter и зависимости:

Убедитесь, что вы используете последнюю версию Flutter, которая может содержать исправления для проблем с длиной пути.

Выполните команду:

flutter upgrade