163 votes

comment utiliser un paquet flutter local dans une autre application flutter ?

Comment utiliser un paquet flutter local dans une autre application flutter ?

J'ai créé un paquet en utilisant la commande suivante :

flutter create --template=package my_new_package

et ensuite dans le code source de mon application => main.dart

import "package:my_new_package/my_new_package.dart" // can not find the package

1 votes

J'ai le même problème. Bien que l'application fonctionne, l'erreur "L'URI n'existe pas" s'est produite. J'ai exécuté "flutter packages get", mais le résultat était le même.

272voto

behzad besharati Points 206

Trouvez ce fichier dans votre application flutter => pubspec.yaml

Utiliser la dépendance locale

    dependencies:
       flutter:
         sdk: flutter
       my_new_package:
         path: ./my_new_package

Remarque : Le ./my_new_package ci-dessus signifie que le my_new_package contenant le répertoire pubspec.yaml pour le paquet est un sous-répertoire de l'application.

Si le paquet est un répertoire situé au même niveau que l'application, c'est-à-dire un niveau plus haut dans l'arborescence des répertoires, vous pouvez utiliser la commande ../my_new_package (notez le double point) ou un chemin complet vers le répertoire du paquet.

97 votes

Attention : Il y a ici un piège contre lequel je voudrais mettre les gens en garde. Ne créez pas un dossier dans votre racine flutter nommé packages et mettre des paquets là-dedans. packages est supprimé lors de la construction.

0 votes

@TheGwa Où voyez-vous l'auteur de cette réponse utiliser un répertoire de paquets ? Je suppose que vous avez simplement votre paquet au même niveau que votre projet de test, pas un paquet à l'intérieur d'un projet de test.

3 votes

@SacWebDeveloper la réponse ci-dessus est correcte et sans faute. Mon commentaire est juste une mise en garde. Si vous avez des paquets spécifiques à un projet, l'approche naïve serait de les placer dans un fichier /packages à la racine de votre projet au même niveau que le répertoire /android , /ios , /tests etc. Au moment de la rédaction /packages a été écrasé pendant la construction et a détruit vos paquets. Je n'ai pas testé depuis un certain temps.

35voto

Deepak swain Points 1327

Dépendance du chemin : Une application Flutter peut dépendre d'un plugin via un chemin d'accès au système de fichiers : dépendance. Le chemin peut être relatif ou absolu. Par exemple, pour dépendre d'un plugin plugin1 situé dans un répertoire voisin de l'application, utilisez la syntaxe suivante :

dependencies:
  plugin1:
    path: ../your_package/

0 votes

Cela m'a été utile lorsque j'ai voulu faire dépendre un plugin d'un autre plugin situé dans le même chemin.

0 votes

Pour souligner à nouveau, votre application et le paquet doivent être dans le même répertoire

15voto

GraSim Points 41

Pour le processus complet :

  1. Téléchargez le code du plugin que vous voulez utiliser et placez-le au "même" niveau que le répertoire de votre projet flutter.

     -- plugin-name  
     -- your flutter directory -- lib
                               -- android
                               -- ios etc etc
  2. Ajoutez le chemin du plugin à pubspec.yaml. *Si vous n'êtes pas sûr du nom correct du plugin à utiliser, consultez le fichier name: dans le fichier pubspec.yaml du plugin. Le répertoire du plugin doit également être sauvegardé avec le même attribut name:

    dependencies:
     plugin-name:
       path: ../plugin-name
  3. Exécuter Pub get et vous pouvez l'importer comme n'importe quel autre plugin. La seule différence est que lorsque vous cliquez sur l'une des classes de plugins pendant le développement, elle pointe vers le fichier local.

3voto

Hé, j'ai eu le même problème quand j'ai commencé à utiliser Flutter. J'ai mis en œuvre l'exemple de pdf_view dans mon application pour apporter des modifications à l'effet Shimmer au lieu de l'effet Shimmer. CircularProgressIndicator() .

Quelques connaissances

Vous pouvez modifier les plugins qui sont obtenus par flutter pub get mais ils peuvent être remplacés lorsque vous créez le paquet d'applications par Flutter.

Maintenant votre réponse avec un exemple de plugin supposez que vous prenez un exemple de advance_pdf_viewer Lien GitHub

  1. Téléchargez le fichier zip et extrayez-le dans pdf_viewer/

  2. Assurez-vous que pdf_viewer/ a tous les fichiers, y compris lib , Android , iOS et tous les fichiers associés.

  3. Copiez votre pdf_viewer dans le répertoire de votre projet, par exemple mon projet est invoice_viewer pour que son répertoire racine contienne tous les dossiers tels que lib , Android, iOS etc. copiez-le dans ce répertoire racine avec lib , Android , iOS .

  4. Maintenant, ouvrez votre pubsec.yaml et écrire le code comme suit

    dependencies: flutter: sdk: flutter

    advance_pdf_viewer: ^2.0.0

    advance_pdf_viewer: path: ./pdf_viewer

  5. Dans le commentaire, j'ai remplacé la version du serveur par la version locale et j'ai modifié les paramètres du plugin. viewer.dart pour obtenir les changements souhaités.

J'espère que vous et d'autres ont obtenu des informations de cette découverte !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X