Flutter — Не найден файл или варианты для asset: lib / assets / images

#flutter #dart #assets

#flutter #dart #ресурсы

Вопрос:

Я получаю эту ошибку при добавлении ресурсов папки изображений в pubspec.yaml

 Error detected in pubspec.yaml:
No file or variants found for asset: lib/assets/images.
  

Вот как выглядит мой pubspec.yaml файл

 flutter:
  uses-material-design: true
  
  assets:
    - lib/assets/images
  
  fonts:
    - family: Potra
      fonts:
        - asset: lib/assets/fonts/Potra.ttf
    - family: BAHNSCHRIFT
      fonts:
        - asset: lib/assets/fonts/BAHNSCHRIFT.TTF
  

Я попытался посмотреть это. Большинство пользователей предлагают указать правильный отступ для решения этой проблемы. Но я совершенно уверен, что здесь дело не в этом. Я попробовал правильный метод отступа, а также все возможные варианты, но тщетно.

Когда я удаляю нижеприведенную часть, код выполняется нормально без каких-либо ошибок, и соответствующее добавленное семейство шрифтов в pubspec также работает нормально.

   assets:
    - lib/assets/images
  

Почему я получаю сообщение об ошибке после добавления части assets?

Вот как выглядит моя файловая структура

введите описание изображения здесь

Ответ №1:

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

   assets:
    - lib/assets/images/
  

Советы: Это своего рода плохая практика, если вы помещаете свою assets папку в свою lib папку. Попробуйте поместить его вне lib папки. А также убедитесь, что отступы указаны правильно.

Я надеюсь, что это будет полезно.

Ответ №2:

У вас должна быть папка assets не внутри папки lib, а в главном корневом каталоге (т. е. вне библиотеки), а затем добавьте активы как :

 assets:
    # For images
    - assets/images
fonts:
    - family: FontFamilyName     
        fonts:
            - asset: assets/fonts/the_font_you_want.ttf
  

И остерегайтесь отступов в pubspec.yaml, они также вызывают ошибки

Ответ №3:

Я получил это исключение из-за глупой ошибки, из-за которой в имени моего файла есть пробел, например home_cover. jpg . Поэтому я удаляю его следующим образом home_cover.jpg