Aller au contenu principal

Corriger les erreurs de mismatch de version Capacitor

Découvrez comment résoudre rapidement les erreurs de mismatch de version dans vos apps Capacitor pour éviter les interruptions de build et les crashs au runtime.

Corriger les erreurs de mismatch de version Capacitor

Erreurs de mismatch de version dans Capacitor apps peuvent interrompre les builds, causer des crashs au runtime et retarder les mises à jour. Ces problèmes surviennent lorsque les packages de base, les plugins ou les dépendances sont désalignés. Voici comment les résoudre rapidement :

  • Causes courantes:

    • Mises à jour partielles ou conflits de dépendances.
    • Erreurs dans package.json ou les fichiers pod.
    • Les mises à jour automatiques créent des incohérences.
  • Corrections rapides:

    • Exécutez npx cap doctor ou npm list @capacitor/* pour repérer les écarts.
    • Alignez les versions dans package.json (ex : @capacitor/core, @capacitor/ios, @capacitor/android).
    • Utiliser npm install pour mettre à jour tous les packages et plugins de base.
  • Éviter les problèmes futurs:

    • Verrouillez les versions package.json (ex., "@capacitor/core": "5.0.0").
    • Automate version checks with CI/CD tools.
    • Utilisez des outils live update comme Capgo pour des correctifs plus rapides.

Résoudre l'exception No Matching View Capacitor …

Site de documentation du framework Capacitor

Identifier les incohérences de version

Vous pouvez identifier les conflits de version en suivant ces étapes :

Symptômes et messages d'erreur

Commencez par examiner les sorties d'erreur :

  • Échecs de build mentionnant une « version incompatible »
  • Exceptions au runtime faisant référence à un « version mismatch »
  • Avertissements console concernant des conflits de dépendances
  • Erreurs de pod install iOS signalant des problèmes de version

Ces messages d'erreur, qu'ils proviennent du terminal ou de votre IDE, révèlent souvent des conflits. Soyez attentif aux avertissements incluant des numéros de version : ils vous aideront à cibler le problème.

Vérifications via la CLI

Use command line tools to confirm version consistency:

  • npx cap doctor: Vérifie l'état de Capacitor et signale les incohérences.
  • npm list @capacitor/core @capacitor/ios @capacitor/android: Affiche les versions installées, facilitant la détection des écarts.

Vérification du fichier de config

Enfin, vérifiez vos fichiers de configuration pour assurer l'alignement des versions.

package.json

{
  "dependencies": {
    "@capacitor/core": "5.0.0",
    "@capacitor/ios": "5.0.0",
    "@capacitor/android": "5.0.1"  // Version mismatch!
  }
}

capacitor.config.json

{
  "appId": "com.example.app",
  "appName": "MyApp",
  "plugins": {
    "SomePlugin": {
      "version": "3.0.0"
    }
  }
}

Vérifiez la cohérence de :

  • Les packages Capacitor de base
  • Packages spécifiques aux plateformes (iOS/Android)
  • Plugins et leurs dépendances

Maintenir ces versions alignées permet d'éviter les problèmes de compatibilité.

Corriger les versions du core et des plugins

Mises à jour du package core

Pour mettre à jour vos packages Capacitor principaux, utilisez la commande npm suivante :

npm install @capacitor/core@latest @capacitor/ios@latest @capacitor/android@latest

Si vous avez besoin d'une version spécifique, remplacez @latest par le numéro de version souhaité. Par exemple :

npm install @capacitor/core@5.0.0 @capacitor/ios@5.0.0 @capacitor/android@5.0.0

Une fois les mises à jour terminées, synchronisez votre projet avec :

npx cap sync

Corrections des versions de plugins

Assurez-vous que vos plugins sont compatibles avec la version Capacitor que vous utilisez. Mettez-les à jour vers des versions testées et compatibles, et n'oubliez pas de tester les fonctionnalités après chaque mise à jour.

Si un plugin nécessite Capacitor 5.x mais que vous utilisez la 6.x, deux options s'offrent à vous :

  • Mettre à jour le plugin vers la dernière version :

    npm install @plugin-name@latest
  • Rétrograder Capacitor pour correspondre aux exigences du plugin :

    npm install @capacitor/core@5.x

Pour les mises à jour incluant des breaking changes, des ajustements supplémentaires peuvent être nécessaires.

Changements de version majeure

Lors du passage à une nouvelle version majeure, suivez ces étapes :

  1. Sauvegardez votre projet: Créez une sauvegarde complète avant de commencer toute mise à jour.

  2. Consulter le changelog: Consultez le changelog officiel pour identifier les breaking changes qui pourraient affecter votre projet.

  3. Mettre à jour les dépendances: Mettez à jour vos packages Capacitor vers les versions requises. Par exemple :

    npm install @capacitor/core@7.0.0 @capacitor/ios@7.0.0 @capacitor/android@7.0.0

Capgo permet les live updates pour Capacitor 8, vous permettant d'appliquer des correctifs sans attendre l'approbation des stores [1].

Éviter les futurs conflits de version

Outils de verrouillage de version

Verrouillez les fichiers comme package-lock.json ou yarn.lock aidez votre équipe à utiliser les mêmes versions de dépendances. Pour éviter les mises à jour imprévues, définissez des numéros de version exacts au lieu d'utiliser le symbole caret ("}^) ou le tilde ("~) symboles :

{
  "dependencies": {
    "@capacitor/core": "5.0.0",
    "@capacitor/ios": "5.0.0",
    "@capacitor/android": "5.0.0"
  }
}

Automatiser les mises à jour

Configurez des vérifications de version automatisées dans votre pipeline CI/CD pour détecter les conflits rapidement. Par exemple, utilisez la commande suivante pour vérifier les dépendances obsolètes :

npm outdated @capacitor/*

Vous pouvez intégrer cette étape dans des outils comme GitHub Actions GitHub, GitLab CI, ou Jenkins pour garantir des builds cohérents. Pour un contrôl’accru, pensez à utiliser le système de mise à jour de Capgo pour simplifier le processus.

Utiliser Capgo Mises à jour

Interface du dashboard Capgo Live Update

Capgo propose un système live update qui résout rapidement les conflits de version. Selon leurs données, 95 % des utilisateurs actifs installent les mises à jour sous 24 heures [1].

« Nous avons déployé Capgo mises à jour OTA en production pour notre base de +5000 utilisateurs. Tout tourne très bien : presque tous nos utilisateurs sont à jour quelques minutes après le déploiement de l'OTA sur @Capgo. » – colenso [1]

Voici comment tirer le meilleur parti de Capgo :

  • Configurez plusieurs canaux de distribution pour vos tests.
  • Configurez des rollbacks automatiques en cas de problèmes critiques.
  • Surveillez les taux de réussite pour garantir l'efficacité des mises à jour.
  • Use staged rollouts to minimize risks.

Pour les équipes gérant plusieurs versions d'app, le système de canaux de Capgo vous permet de tester les mises à jour auprès de groupes d'utilisateurs spécifiques avant une release plus large. Cette approche a permis d'atteindre un taux de réussite global de 82 % pour les mises à jour [1].

Résumé

Guide de solutions rapides

Face à des erreurs de mismatch de version dans apps Capacitor? Voici quelques actions rapides à effectuer :

  • Verrouillez les versions des dépendances dans votre package.json fichier et utilisez des lock files pour garantir la cohérence.
  • Exécutez npm outdated @capacitor/* pour identifier les dépendances obsolètes.
  • Résolvez les conflits grâce aux déploiements progressifs de Capgo [1].

Ces étapes résument les méthodes de diagnostic abordées précédemment.

Bonnes pratiques

Pour garantir une stabilité à long terme, suivez ces bonnes pratiques pour gérer efficacement les versions de Capacitor. Ces méthodes ont été appliquées avec succès dans plus de 750 apps en production. [1].

  • Gestion des versions

    • Maintenez la cohérence des versions des dépendances.
    • Synchronisez le versioning sur tous les environnements de l'équipe.
    • Documentez clairement les exigences de version pour une référence facile.
  • Gestion des mises à jour Rodrigo Mantica partage :

    « Nous pratiquons le développement agile et @Capgo est essentiel pour livrer en continu à nos utilisateurs ! » [2]

  • Surveillance et récupération Surveillez régulièrement les dépendances pour identifier les conflits tôt. Un bon monitoring a montré que 95 % des utilisateurs actifs peuvent faire une mise à jour sous 24 heures. [1].

  • Conseils clés d'implémentation

    • Automatisez les vérifications de version dans vos pipelines CI/CD.
    • Utilisez des canaux de test avant la distribution complète.
    • Maintenez des options de rollback pour les problèmes imprévus.
    • Suivez le taux de réussite des mises à jour pour évaluer la performance.

Suite de : Résoudre les erreurs de mismatch de version Capacitor

Si vous utilisez Résoudre les erreurs de mismatch de version Capacitor pour planifier l'automatisation CI/CD, et le connecter avec CI/CD Capgo pour le workflow produit dans le CI/CD de Capgo, Capgo Native Build pour le workflow produit dans les Native Builds de Capgo, Intégrations Capgo pour le workflow produit dans les intégrations de Capgo, Intégration CI/CD pour le détail d'implémentation dans l'intégration CI/CD, et Intégration GitHub Actions pour les détails d'implémentation de l'intégration GitHub Actions.

Live updates pour les apps Capacitor

Lorsqu'un bug de la couche web est en ligne, déployez le correctif via Capgo au lieu d'attendre des jours l'approbation des stores. Les utilisateurs reçoivent la mise à jour en arrière-plan, tandis que les changements natifs suivent le circuit de validation habituel.

Les derniers articles du blog

Capgo vous offre les meilleures informations pour créer une application mobile vraiment professionnelle.