Код Visual Studio - Ціль URI не існує 'пакет: flutter / material.dart'


125

Я щойно налаштував свій Macbook для розбудови,

Тож я завантажив flutter sdk і помістив його у свої документи . Після цього я налаштував змінну шляху для роботи з трепетом у моєму командному рядку.

Я виконую команду, flutter create todolistщоб отримати пустий проект.

Я також налаштовую свій код візуальної студії за допомогою Dart-Code, щоб мати належне виділення синтаксису, intellisense тощо.

Отже, коли я відкриваю код візуальної студії, він виділяє importметод, як-от наступне зображення:

перший рядок коду

Це означає, що він також виділяє класи, які є правильними, що ускладнює розуміння, чи є це справжньою помилкою чи ні.

Я виконав і те, pub getі flutter packages getі все правильно. У мене правильні змінні шляху.

Чому підкреслюючи, що він не може знайти цей пакет імпорту?


Що говорить рядок стану про версію Dart? Див. Також github.com/Dart-Code/Dart-Code/issues/318 . Дивіться також github.com/Dart-Code/Dart-Code/issues/…
Гюнтер Цохбауер,

Правильно, там написано "Dart - 1.24.0-dev.6.7" @ GünterZöchbauer
James

Але якщо я перейду до свого проекту flutter і виконаю flutter run, він належним чином встановиться на моєму пристрої
Джеймс,

У вас встановлений SDK, який не є Flutter Dart?
Günter Zöchbauer

3
Виникла така сама проблема, але з Android Studio, перезапуск AS виправляє.
mbwasi

Відповіді:


223

Перезапуск коду Visual Studio після

flutter pub get

вирішив повідомлення про помилки для мене.

джерело: https://flutter.dev/docs/development/packages-and-plugins/using-packages


1
Якщо ви можете відтворити це; Я хотів би поглянути. Вам не потрібно буде перезапускати VS Code вручну, щоб виправити подібні проблеми (якщо це так, я хотів би виправити). Ви можете підняти проблеми на github.com/Dart-Code/Dart-Code/issues/new спасибі!
Денні Таппені

25
Зауважте, що заразflutter packages get
Зоолі

2
Я просто закрив папку у VSCode і відкрив знову. це вирішено :)
Сраван,

1
Це працювало для мене в Ubuntu ( flutter packages getа потім перезапустило VSCode). Дякую!
Чіннон Сантос

2
Зверніть увагу, що зараз flutter pub get flutter.dev/docs/development/packages-and-plugins/…
maheshmnj

25

Автор плагіна Dart Code тут! На скріншоті я б сказав, що це тому, що ваш проект флаттера знаходиться у підпапці папки, відкритої в Code. Ми лише скануємо відкриту папку, щоб перевірити, чи це проект Flutter - який потім змінює запущений нами SDK, а також включає функціональність Flutter (наприклад, демон та налагоджувач).

Вам слід знову відкрити папку "todo".

Якщо ви хочете, щоб декілька проектів були відкриті разом, використовуйте багатокореневі робочі області , оскільки Dart Code має багатокористувацький код і перевірятиме кожну папку в робочій області, вирішуючи, чи потрібно вмикати функціональність Flutter.

Оновлення

Цю справу слід краще підтримувати в плагіні Dart зараз, тому відкриття безпосередньої батьківської папки проекту Flutter має працювати як слід.


Я 20 хвилин бурмотів над цією помилкою пакета, переміщав мою інсталяційну папку і подібні речі ... Я щойно відкрив неправильну папку. Я дебіл. Дякую :)
Miiite

4
На жаль, станом на Flutter 1.0, при використанні коду VS та слідуванні підручнику Flutter.io Get Started, ця відсутність виявлення пакунків відновлюється знову потворно. Плагін належним чином запускає "flutter пакети отримують", але VS Code не бачить пакет і робить увесь код підкреслюючи так, ніби це помилка у відповідних класах. Перезапуск VS Code змусить рядки помилок зникнути, як тільки я знову завантажу папку проекту. Можливо, це помилка регресії?
CokoBWare

@CokoBWare Ви маєте на увазі під час використання Flutter: New Projectкоманди? Я просто тестував його тут, і як тільки оновлення пакету закінчилося, всі червоні викрикання зникли.
Danny Tuppeny

@DannyTuppeny було виправлено для Flutter Projects, але не для Dart Projects. У будь-якому випадку поки я просто клацню правою кнопкою миші на pubspec.yaml і запускаю Отримати пакети
user603749

@ user603749 немає жодної причини, щоб це не могло працювати і для Дарта. Будь ласка, відкрийте випуск на GitHub із деталями того, що ви бачите, щоб я міг розслідувати. Дякую!
Денні Таппені,

17

тріпотіння чисто

пурпурні пакети отримують

оновлення пакетів flutter (Необов’язково - використовуйте, якщо ви хочете оновити пакети)

Перезапустіть Android Studio або Visual Studio


11

Якщо ви використовували flutter packages getкоманду і помилка все ще не зникає, ви можете просто перезавантажити код VS Developer: Reload Windowкоманди. Просто введіть це після натискання Ctrl+Shift+P( Cmd+Shift+Pдля користувачів Mac). Це видалить помилку. Це як оновлення коду VS.


5

Відкрийте палітру команд (ctrl + shift + p), введіть flutter: get пакети (має автозаповнення); після її вирішення знову відкрийте палітру команд і введіть перезавантажити вікно та виконайте команду. Це має вирішити проблему якомога швидше.


5

Перезапустіть код VS, і ви побачите магію! Якщо це не спрацює, перевірте відступ у pubsepec.yaml


5

Це працювало для мене в Android Studio, а також VS Code. Мені потрібно було лише запустити ці рядки у своєму терміналі / командному рядку, і проблема була вирішена. Не потрібно було перезапускати будь-яку IDE знову

  • пурпурні пакети отримують

За бажанням ви також біжите.

  • аплікація оновлення

4

Найшвидший спосіб отримати Dart-Code, щоб надійно знайти вашу установку Flutter та використовувати її, - це створити нову FLUTTER_ROOTзмінну середовища та встановити її на ваш шлях Flutter.



2

В основному

  1. Перевірте правильність відступу вашого пакету в залежностях
  2. якщо ваш редактор підтримує, він автоматично запускається -> flutter pub get
  3. У будь-якому випадку -> відкрити термінал-> отримати flutter pub або отримати пакети flutter
  4. перевірте файл .packages, перевірте , чи присутній ваш пакет, інакше перевстановіть пакет
  5. Найважливіше : перезапустіть IDE (Visual studio або Android Studio)

Почніть налагоджувати свій проект

Швидше за все, ваші помилки будуть виправлені до того часу

Сподіваюся, це працює для вас


2

Проста річ, яку я зробив після того, як тут хтось сказав перезапустити VSCode, і я це зробив, і тепер все працює нормально.

Для мене це було тому, що якраз коли я створював проект, я отримав сповіщення про оновлення свого розширення dart (або пов’язаного з ним), і для цього я зробив це та пробудив, коли мій проект стартував, це просто дало мені близько 30 помилок, які налякали, але прості FIX мав відновити редактор .


1

Також це трапилося зі мною під час спроби запустити проект всередині іншого каталогу.

Працює за допомогою кореневого каталогу основного проекту



1

Якщо виконати з терміналу: "Запустити пакети флаттера отримати", а помилка продовжується, перевірте, чи всі каталоги пакунків перелічені у файлі '.packages'. - Іноді у вас є пакети, але вони не налаштовані в цьому файлі.



1

Увага! Цей пакет посилався на сховище Flutter через файл .packages, який більше не доступний. Натомість буде використано сховище, з якого зараз виконується інструмент «флаттер».
запуск інструменту Flutter: / opt / flutter попереднє посилання: / Users / Shared / Library / flutter Це може статися, якщо ви видалили або перемістили свою копію сховища Flutter, або якщо вона була на томі, який більше не змонтовано або вже змонтовано в іншому місці. Будь ласка, перевірте свій системний шлях, щоб переконатися, що у вас запущена передбачувана версія (запустіть 'flutter --version', щоб побачити, який флаттер знаходиться на вашому шляху).

Перевірка вихідних даних flutter packages getвиявляє, що причина в моєму випадку була пов’язана з переміщенням тріпотіння sdk.


1

спробуй бігти flutter clean

потім перезапустіть код VS. Це зробило це для мене.


0

Не забудь:

export PATH="$PATH:/home/[xxxxx]/flutter/bin

Для мене це працює:

flutter upgrade

flutter packages get

Ви можете перевірити у

flutter doctor

flutter --version

0

Перейдіть у файл pubsec.yaml і додайте це безпосередньо після cupertino_icons :

webview_flutter:

Потім натисніть « Пакети», щоб потрапити у верхній правий кут, і у вас буде добре працювати.


0

Не забудьте зберегти pubspec.yaml перед запуском "flutter pub get". Перезапуску коду Visual Studio недостатньо. Це було моє рішення. Іноді, працюючи з intellij, ти забуваєш, що ...


0

Додайте залежності. наприклад: - import 'package:audioplayers/audio_cache.dart'; у наведеному вище пакеті, якщо ми використовуємо лише цей пакет, він відображає помилку, але якщо ми додаємо залежності в pubspec.yaml, такі як

dependencies:
    flutter:
      sdk: flutter
    cupertino_icons: ^0.1.2
    audioplayers: ^0.14.1

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

потім натисніть на пакети отримати.

як ви бачите це, я також можу вставити залежності, тому якщо ви вставляєте залежності разом із вашим пакунком, тоді ви готові піти.


0

Коли ви зазвичай отримуєте таке повідомлення про помилку:

Ціль URI не існує: 'package: foo'. Спробуйте створити файл, на який посилається URI, або Спробуйте використати URI для файлу, який існує.

Приклад:

Ціль URI не існує: 'package: random_string / random_string.dart'. Спробуйте створити файл, на який посилається URI, або Спробуйте використати URI для файлу, який існує.

import 'package:random_string/random_string.dart';

Це тому, що залежність відсутня.

Отже, все, що вам потрібно зробити, це з’ясувати, які пакети потрібні, погугливши ім’я вашого пакета.

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

Встановіть залежність:

$ flutter pub get

і додайте залежність у файл pubspec.yaml:

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


0

Я намагався скористатися пакетом аудіоплеєрів. Після того, як я додав його до pubspec.yaml і спробував імпортувати до main.dart, я отримав ту ж помилку.

Я спробував перезапустити IDE, але це не допомогло, тому я спробував запустити, flutter packages pub cache repairі це спрацювало.


1
Будь ласка, додайте до своєї відповіді більше контексту, щоб сказати, чим вона відрізняється від інших відповідей тут, і зробіть її більш корисною в довгостроковій перспективі.
Мустафа

0

Я стежив за підручником Flutter, і VSCode не зміг знайти пакет english_words, незважаючи на те , що він відображається в pubspeck.lockта .packages. Гаряче перезавантаження не спрацювало.

Щоб це працювало, я зупинив екземпляр і запустив його повторно - тому мені не довелося перезапускати VSCode.


0

Я зіткнувся з тією ж проблемою і спробував все перезапустити, пакети отримувати, все ремонтувати, але жодне з цих рішень не спрацювало. Єдине, що спрацювало, було встановити кодування файлу пакетів, що видає помилку, UTF-8.

PS: Я зіткнувся з цим на студії Android

Сподіваюся, це комусь допоможе.


0

Якщо ви зміните властивість nameу pubspect.yamlвсьому пакунку у папці lib, стають червоними з помилкою Ціль URI не існує ...


0

Я не думав, що це можливо: мені довелося видалити папку флаттера та перевстановити її з нуля!


0

Іноді ця проблема вирішується простим запуском flutter pub getще раз ...

пакунки переконуються, що всі пакети розглядаються ...

як при переміщенні проекту з одного комп'ютера на інший, може трапитися так, що пакети не беруться до уваги, ось flutter pub getі вийде !!!


0

Я використовував (інструмент вибору місця розташування goggle (з набагато більшим налаштуванням функцій та інтерфейсу користувача)), тому я копіюю цей пакет (повний) і використовую в моєму додатку в одній папці, але оскільки аналізатор коду дротиків аналізує один проект флаттера, то я виявив, що ті, які є посилання зсередини цього пакету не працюють, тоді я копіюю лише папку lib (з вибору розташування google) у мою оригінальну папку проекту, і вуаля, це спрацювало для мене. Це рішення зайняло у мене 3 дні. Я знаю, що це не питання, але це може допомогти комусь заощадити 3 дні.


0

У мене теж було це питання. Я мав і те, VS codeі інше, Android studioвстановлене в моїй системі.

Помилка була в VS code.

Коли я відкрив той самий проект Android studio, залежність насправді не додалася pubsec.yaml. Я додав його туди і побігpub.get .

Коли я повернувся до, VS Codeі все працювало нормально.

Отже, спробуйте відкрити його в іншому редакторі, якщо він є, або через NotePad.

Редагувати:

Відкриття widget_test.dartта запуск також має вирішити вашу проблему.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.