Passer à la navigation principale

Fixez les erreurs de version Capacitor

Apprenez à résoudre rapidement les erreurs de version incohérente dans les applications Capacitor pour éviter les interruptions de construction et les plantages au runtime.

Martin Donadieu

Martin Donadieu

Spécialiste du contenu

Résolvez les erreurs de version incohérente de Capacitor

Les erreurs de version incohérente dans les Capacitor applications peuvent perturber les constructions, provoquer des plantages au runtime et retarder les mises à jour. Ces problèmes surgissent lorsque les packages de base, les plugins ou les dépendances sont mal alignés. Voici comment les résoudre rapidement :

  • Causes courantes:

    • Mises à jour partielles ou conflits de dépendances.
    • Erreurs dans package.json ou fichiers de pod.
    • Mises à jour automatiques créer des incohérences.
  • Réparations rapides:

    • Exécuter npx cap doctor ou npm list @capacitor/* pour détecter les incohérences.
    • Aligner les versions dans package.json (par exemple, @capacitor/core, @capacitor/ios, @capacitor/android).
    • Utiliser npm install pour mettre à jour tous les packages de base et les plugins.
  • Prévenir les problèmes futurs:

    • Bloquez les versions dans package.json par exemple, "@capacitor/core": "5.0.0").
    • Automatisez les contrôles de version avec les outils CI/CD.
    • Utilisez des outils d'actualisation en direct comme Capgo pour des corrections plus rapides.

Résoudre l'exception sans correspondance de vue dans Capacitor

Capacitor Documentation du Framework

Trouvez des problèmes de version non correspondante

Vous pouvez détecter les incompatibilités de version en suivant ces étapes :

Signes et messages d'erreur

Commencez par examiner les sorties d'erreur :

  • Échecs de construction mentionnant « version incompatible »
  • Exceptions de temps d'exécution faisant référence à « version incohérente »
  • Avertissements de la console sur les conflits de dépendances
  • Erreurs d'installation pod iOS mettant en évidence des problèmes de version

Ces messages d'erreur, qu'ils proviennent du terminal ou de votre IDE, révèlent souvent des conflits. Faites attention aux avertissements qui incluent des numéros de version - ils peuvent vous aider à identifier le problème.

Vérifications de ligne de commande

Utilisez des outils de ligne de commande pour confirmer la cohérence des versions :

  • 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, ce qui facilite la détection des incohérences.

Examen du fichier de configuration

Vérifiez ensuite vos fichiers de configuration pour vous assurer de l'alignement de la version.

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 sur :

  • Packs de base Capacitor
  • Packs spécifiques à la plateforme (iOS/Android)
  • Plugins et leurs dépendances

Conserver ces versions alignées aide à éviter les problèmes de compatibilité.

Corriger les versions de la base et des plugins

Mises à jour des packs de base

Pour mettre à jour vos packs de base Capacitor, utilisez la commande suivante npm :

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

Si vous avez besoin d'une version spécifique, remplacez @latest Avec la version souhaitée. 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 de la version du plugin

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 assurez-vous de tester la fonctionnalité après chaque mise à jour.

Si un plugin nécessite Capacitor 5.x mais que vous utilisez 6.x, vous avez deux options :

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

    npm install @plugin-name@latest
  • Réduire Capacitor à la version requise par le plugin :

    npm install @capacitor/core@5.x

Pour les mises à jour impliquant des changements de rupture, des ajustements supplémentaires peuvent être nécessaires.

Changements de version majeure

Lors de la transition vers une nouvelle version majeure, suivez ces étapes :

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

  2. Vérifiez le Changelog : Consultez le changelog officiel pour toute modification majeure qui pourrait affecter votre projet.

  3. Mettre à jour les Dépendances : Mettez à jour vos Capacitor paquets aux versions requises. Par exemple :

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

Capgo fournit des mises à jour en temps réel pour Capacitor 8, vous permettant d'appliquer des correctifs sans avoir besoin d'approbations de l'app store [1].

Éviter les Conflits de Versions Futurs

Outils de Verrouillage de Version

Les fichiers de verrouillage comme package-lock.json ou yarn.lock aident à s'assurer que tout le monde sur votre équipe utilise les mêmes versions de dépendances. Pour éviter les mises à jour inattendues, définissez des numéros de version exacts au lieu d'utiliser des symboles de carets (^) ou de tildes (~)

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

Automatiser les mises à jour

Configurez les contrôles de version automatiques dans votre pipeline CI/CD pour signaler les conflits en temps opportun. Par exemple, utilisez la commande suivante pour vérifier les dépendances obsolètes :

npm outdated @capacitor/*

Vous pouvez intégrer ce pas dans des outils comme GitHub Actions, GitLab CI, ou Jenkins pour vous assurer de builds cohérents. Pour un contrôle encore plus précis, envisagez d'utiliser le système d'actualisation de Capgo pour simplifier le processus.

En utilisant Capgo Mises à jour

Capgo Interface de tableau de bord d'actualisation en temps réel

Capgo fournit un système d'actualisation en temps réel qui résout rapidement les conflits de version. Selon leurs données, 95 % des utilisateurs actifs installent les mises à jour dans les 24 heures. [1].

“Nous avons déployé des mises à jour OTA en ligne Capgo en production pour notre base d'utilisateurs de +5000. Nous constatons une opération très fluide, presque tous nos utilisateurs sont à jour dans les minutes qui suivent le déploiement de l'OTA sur @Capgo.” – colenso [1]

Voici comment tirer le meilleur parti de Capgo :

  • Configurez plusieurs canaux de distribution pour des fins de test.
  • Configurez les retours automatiques en cas de problèmes critiques.
  • Vérifiez les taux de réussite pour vous assurer que les mises à jour sont efficaces.
  • Utilisez les déploiements étalés pour minimiser les risques.

Pour les équipes gérant plusieurs versions d'applications, le système de canal de Capgo vous permet de tester les mises à jour avec des groupes d'utilisateurs spécifiques avant une mise à jour plus large. Cette approche a atteint un taux de réussite mondial de 82% pour les mises à jour. [1].

Résumé

Guide de solutions rapides

Problèmes de version incohérents en cours Applications Capacitor? Voici quelques actions rapides à effectuer :

  • Bloquez les versions de dépendances dans votre package.json fichier et utilisez des fichiers de verrouillage pour garantir la cohérence.
  • Exécutez npm outdated @capacitor/* pour identifier les dépendances obsolètes.
  • Address conflicts by utilizing Capgo’s staged rollouts [1].

Ces étapes résument les méthodes de diagnostic discutées plus tôt.

Meilleures Pratiques

To ensure long-term stability, consider these best practices for managing Capacitor versions effectively. These methods have been successfully applied in over 750 production apps [1].

  • Contrôle de version

    • Maintenez les versions de dépendances cohérentes.
    • Synchronisez la versionnage dans 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 :

    “We practice agile development and @Capgo is mission-critical in delivering continuously to our users!” [2]

  • Surveillance et Rétablissement
    Surveillez régulièrement les dépendances pour identifier les conflits tôt. [1].

  • Les bonnes pratiques de surveillance ont montré que 95% des utilisateurs actifs peuvent mettre à jour en 24 heures

    • Conseils Clés d'Implémentation
    • Automatisez les vérifications de version dans les pipelines CI/CD.
    • Utilisez les canaux de test avant la distribution complète.
    • Conservez les options de retrait pour les problèmes inattendus.
Mises à jour en temps réel pour les applications Capacitor

Lorsqu'un bug de la couche web est en ligne, expédiez la correction par Capgo au lieu d'attendre des jours pour obtenir l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans la voie de revue normale.

Commencez dès maintenant

Dernières actualités de notre blog

Capgo vous donne les meilleures informations dont vous avez besoin pour créer une application mobile vraiment professionnelle.