Au secours, plus d'extension Flutter!

J’ai voulu mettre Flutter à jour. De fil en aiguille, plus rien ne marchait, je me suis enfoncé et j’ai fini par tout réinstaller de zéro. Rien ne marche plus non plus ! « We cannot Connect to Merketplace Extensions at this time, try again later » prétend VSCode, cependant j’y parviens avec tous les navigateurs, à tout moment, VSCode jamais, à aucun moment. J’ai essayé de réinstaller les extensions en les téléchargeant et en me servant de l’option d’installation depuis .vsix, ça marche une fraction de seconde, puis le système réagit et proteste que ça ne vient pas de l’App Store ou d’un auteur identifié et VSCode supprime l’extension… Je m’arrache ce qui me reste de caillou sous le cheveu. :scream:

Que faire ?

Ah, j’ai oublié, macOS Big Sur, VSCode Universal 1.55.1, Flutter 2.0.4, Dart 2.12.2

J’ai trouvé une solution partielle : VS Code ne peut toujours pas ouvrir le Marketplace Extensions, mais j’ai pu télécharger des fichiers .vsix depuis un navigateur et les installer depuis ce fichier. Mais le sdk de Dart n’est pas trouvé, et pourtant au départ, Flutter Doctor ne trouvait aucune « issue » (problème). Maintenant, le sdk est pour tout le monde introuvable : le système me dit qu’il ne peut être ouvert car l’auteur ne peut être identifié !
Comment contourner cette sécurité sans mettre tout mon Mac en danger ?

Apparemment, ce serait à cause d’un script logé dans internal/, shared.sh, qui contiendrait en particulier les lignes suivantes :
BIN_NAME="$(basename « $PROG_NAME »)"
case « $BIN_NAME » in
flutter*)
# FLUTTER_TOOL_ARGS aren’t quoted below, because it is meant to be
# considered as separate space-separated args.
« $DART » --disable-dart-dev --packages="$FLUTTER_TOOLS_DIR/.packages" $FLUTTER_TOOL_ARGS « $SNAPSHOT_PATH » « [email protected] »
;;
dart*)
« $DART » « [email protected] »
;;
*)
>&2 echo « Error! Executable name $BIN_NAME not recognized! »
exit 1
;;
esac
}

Alors je dois avouer que je ne vois pas quel peut être le soucis ici.
Voici les points que je regarderais dans l’ordre pour trouver une solution :

  • vérifier le contenu de ma variable PATH pour voir si le dossier de Flutter/Dart est bien là
  • vérifier que flutter/dart est bien installé une seule fois et que ce dossier est bien dans le PATH
  • vérifier que mes fichiers dotfiles sont ok : .zshrc, .zsh_profile, etc.

Tu peux aussi désinstaller complètement flutter et le réinstaller via homebrew. Sur mon nouveau mac j’ai tenté de l’installer via Homebrew et ça marche nickel.

• pas de problème du côté du PATH
• pas de double Install, bien dans le PATH
• mes dot files, pas de problème particulier
• mais, dès qu’on fait :
flutter doctor
/usr/local/Caskroom/flutter/2.0.4/flutter/bin/internal/shared.sh: line 224: 80811 Killed: 9
« $DART » --disable-dart-dev --packages="$FLUTTER_TOOLS_DIR/.packages" $FLUTTER_TOOL_ARGS « $SNAPSHOT_PATH » « [email protected] »

Bonjour,

Quelques pistes ici, le soucis peut venir de GateKeeper. Solutions possibles, placer en quarantaine ou autoriser via le panneau Préférences Systèmes > Sécurité l’execution de flutter.

Les threads Github sont longs, mais des solutions sont proposées selon les cas. ça date de 2019, mais ton message d’erreur est le même. A voir donc.

Oui. Effectivement, la première solution marche, mais c’est lourd. Je ne me vois pas appliquer la commande spctl --master-disable, qui fragilise la sécurité de tout le système, pour seulement autoriser Dart : en tous cas, grand merci, cette solution marche, je redoutais qu’il ne s’agisse de ça, je pense que c’est bien le cas, mais je ne sais pas pourquoi moi, pourquoi tout le monde réussit à faire tourner Flutter sans ça ; je suppose qu’il y a une solution moins lourde, et qui permette d’autoriser Dart sans désarmer tout le système.

Quant à la seconde solution, elle finit par reconduire à la première. Quelqu’un suggère, approuvé par d’autres, de supprimer flutter/bin/cache/artifacts/ mais ça équivaut à supprimer la possibilité de développer avec Flutter sur Android Studio. Là aussi, ça pose un problème. Je reste perplexe ; comment ça marche pour ceux qui sont sur Silicon ?

Je pense que j’essaierai de désinstaller les modules et de passer par une installation HomeBrew de Flutter propre comme propose @mbritto (HomeBrew supporte les M1).

Mais ça aussi j’ai déjà essayé. Ma dernière Install a été faite avec brew. Ça n’élimine pas le problème. Je crois que la sécurité pose désormais un problème de fonctionnement sur macOS. Je recherche à comprendre si je ne pourrais pas faire une levée de sécurité seulement pour Flutter, et surtout Dart. Je suis désappointé.

Et dans Préférences Systèmes > Sécurité > Général, t’as bien l’autorisation d’exécuter des apps de l’AppStore et des Développeurs identifiés? Une fois activé, refais un flutter Doctor pour tester.

C’est ce que j’avais avant, mais j’ai dû faire spctl --master-disable. Du coup, est apparu un troisième bouton dans le panneau Sécurité, lequel est coché par défaut et qui indique « Anywhere » in English non traduit. Il vibre comme une menace de laisser faire tous les virus tant que je n’aurais pas trouvé mieux pour que Dart puisse s’exécuter.

Flutter doctor ne trouve aucun Device, mais dit aussi qu’il ne trouve aucune « issue ».

Si je savais ramener mon Mac à une situation antérieure, et qu’il n’y nulle part dans aucun coin un bout de fichier caché qui laisse une trace de l’installation antérieure, je désinstallerai VS Code et Flutter et je repartirai d’une situation vierge. Je suis persuadé que ça marcherait. Mais je ne sais pas où chercher toutes les petites traces que Flutter et VS Code doivent poser partout.

Ton problème est vraiment étrange et semble dépasser Flutter/Dart. Sinon une suppression réinstallation aurait réglé le problème.
C’est peut être un problème de droits d’accès.

Tu n’as jamais utilisé sudo pour installer Flutter ou Dart ?
Est-ce que tu es certain que Flutter/Dart et VSCode sont les seuls outils qui ont des soucis ?

Peux tu exécuter la commande ls -la dans le dossier de Flutter et coller le résultat ici ?

Voilà :
% ls -la
total 192
[email protected] 27 fj admin 864 Apr 15 18:32 .
drwxr-xr-x+ 73 fj staff 2336 Apr 16 10:55 …
-rw-r–r–@ 1 fj admin 6148 Apr 15 18:34 .DS_Store
-rw-r–r–@ 1 fj admin 9658 Apr 2 22:21 .cirrus.yml
[email protected] 14 fj admin 448 Apr 15 09:57 .git
-rw-r–r–@ 1 fj admin 824 Apr 2 22:21 .gitattributes
[email protected] 8 fj admin 256 Apr 2 22:21 .github
-rw-r–r–@ 1 fj admin 2201 Apr 2 22:21 .gitignore
[email protected] 6 fj admin 192 Apr 2 22:24 .idea
[email protected] 4 fj admin 128 Apr 2 22:24 .pub-cache
-rw-r–r–@ 1 fj admin 2773 Apr 2 22:21 AUTHORS
-rw-r–r–@ 1 fj admin 711 Apr 2 22:21 CODEOWNERS
-rw-r–r–@ 1 fj admin 2723 Apr 2 22:21 CODE_OF_CONDUCT.md
-rw-r–r–@ 1 fj admin 5184 Apr 2 22:21 CONTRIBUTING.md
-rw-r–r–@ 1 fj admin 1519 Apr 2 22:21 LICENSE
-rw-r–r–@ 1 fj admin 1107 Apr 2 22:21 PATENT_GRANT
-rw-r–r–@ 1 fj admin 4687 Apr 2 22:21 README.md
-rw-r–r–@ 1 fj admin 3342 Apr 2 22:21 SECURITY.md
-rw-r–r–@ 1 fj admin 10620 Apr 2 22:21 analysis_options.yaml
[email protected] 9 fj admin 288 Apr 15 18:33 bin
-rw-r–r–@ 1 fj admin 1591 Apr 2 22:21 dartdoc_options.yaml
[email protected] 18 fj admin 576 Apr 2 22:21 dev
[email protected] 15 fj admin 480 Apr 2 22:24 examples
-rw-r–r–@ 1 fj admin 1731 Apr 2 22:21 flutter_console.bat
-rw-r–r–@ 1 fj admin 296 Apr 2 22:21 flutter_root.iml
[email protected] 14 fj admin 448 Apr 15 18:33 packages
-rw-r–r–@ 1 fj admin 5 Apr 15 10:20 version

À ma connaissance, Android Studio, par exemple, fonctionne normalement, Xcode aussi. Je ne crois pas avoir eu besoin d’utiliser sudo pour installer Flutter et Dart, ni même VS Code, ni pour les désinstaller. J’ai, une fois, installé avec brew, mais sinon, je l’ai fait juste avec un download banal, il n’y a même pas eu besoin de défi-per, ça s’est fait automatiquement. Je me demande si je ne vais pas essayer de downgrader VS Code ? Supportera-t-il la version actuelle de Flutter ?

Bon, j’ai réussi à réinitialiser totalement l’installation de VSCode, après avoir retiré tous les fichiers cachés qu’il laisse à différents emplacements. Du coup, il trouve Dart et Flutter. Mais non, ça ne va toujours pas : no Device, pas moyen de trouver un émulateur Android ou iOS. On peut démarrer un émulateur iOS avec la commande open a -simulator, mais il n’est pas reconnu. Je sens que je vais devenir chèvre.

Salut @fjacquemin
Je vois un .DS_Store est-ce que Flutter est installé sur un Syno ?
Auquel cas est-ce que tout installé en local ne serait pas mieux ?

Après je me trompe peut-être

Yes tu te trompes ! Mais depuis j’ai avancé, je crois — reste à le vérifier, que je suis sorti d’embarras. Je supposais, étant donné le refus de Flutter de répondre à upgrade, que j’avais la dernière version ; je me suis aperçu que non. Il y avait une toute nouvelle version 2.0.5 à télécharger. j’ai désinstallé Flutter, puisqu’il refusait l’upgrade, poubellisé, réduit en cendres, et j’ai installé la nouvelle version. Miracle ! un flutter pub get depuis l’app résoud les problèmes de package, cette fois, et il retrouve ses devices. Et j’ai enfin réussi à faire tourner une app sur un émulateur Android.

On croit rêver. C’est Pâques & Noël réunis.

Ce que je ne comprends toujours pas, c’est que je sois le seul qui ait pataugé comme ça. Je ne sais pas ce que j’ai fait de travers ou ce qui n’allait pas. Et puis, il faut que je vérifie qu’Android Studio reste capable de jouer de la flutte, si j’ose dire. À deux trous, naturellement.

La poubelle a toujours été une arme puissante !