# Dépannage de Tern

## L'installateur s'arrête

| Message | Solution |
| --- | --- |
| `This preview requires macOS on Apple Silicon.` | La préversion ne fonctionne que sur les Mac Apple Silicon. |
| `Install Tern and enable its command-line tool before running this installer.` | Placez la commande `tern` dans le `PATH`, puis relancez `sh ./install.sh`. |
| `Incomplete release: missing executable dist/elide-tern-…` | Décompressez à nouveau l'archive ; vérifiez-la d'abord avec `shasum -a 256 -c SHA256SUMS`. |
| `Incomplete release: runtime, SDK, or plugin is missing.` | Comme ci-dessus. |

## Une vue ne s'ouvre pas

| Message | Solution |
| --- | --- |
| ``The configured runtime has no `elide tern`; update it or set a launcher in plugin/config.json.`` | `runtime` dans `plugin/config.json` désigne un Elide sans vues Tern. Faites-le pointer vers `../runtime/bin/elide` de la version, ou supprimez le fichier et relancez `install.sh`. |
| `Configure plugin/config.json before launching a runtime.` | `plugin/config.json` est absent ou illisible ; relancez `install.sh`. |
| `Set the embedded SDK directory in plugin/config.json.` | **Open REPL** a besoin de `sdk` ; l'installateur le règle sur `../sdk`. |
| `Configure a runtime launcher on this host before opening a remote session.` | Les vues ne s'exécutent que sur des hôtes locaux. Ouvrez le projet dans un volet local. |
| `Open a local project directory first.` | Donnez le focus à un volet dont le répertoire se trouve dans un projet `elide.pkl`. |
| `No elide.pkl found in this directory or its parents.` | Comme ci-dessus. |

Si le chemin des données du plugin Tern est assez long pour dépasser la limite de longueur des chemins de sockets Unix,
réglez `state` dans `plugin/config.json` sur un répertoire privé court.

## Une commande affiche du texte brut dans Tern

| Cause | Solution |
| --- | --- |
| Le `elide` du `PATH` n'a pas de vues Tern | Vérifiez `elide tern --help` ; il doit lister `debug`, `project` et `repl`. Installez Elide 1.6.3 ou plus récent. |
| `--reporter`, `--project` ou un chemin de test inexistant | Comportement attendu : ces exécutions conservent la sortie texte. |
| Sortie redirigée ou passée par un pipe | Comportement attendu. |
| `elide build` hors d'un projet `elide.pkl`, ou avec `--inspect`, `--help` ou `--progress` | Comportement attendu. |
| `elide serve --no-tui` | Comportement attendu. |

La liste complète se trouve dans [Surfaces du terminal](/docs/tern-terminal). Un avertissement qui nomme
`ELIDE_TERN_SURFACE` signifie que la variable contient autre chose que `inline`, `screen` ou `auto`.

## `elide tern` se termine avec le code 2

`elide tern repl|project|debug` héberge les vues que lance le plugin, et se termine avec `2` en dehors de Tern.
Utilisez les commandes de la palette du plugin au lieu de le lancer vous-même.

## Un lien ne fait rien

Les liens `elide://` ne s'ouvrent que via le plugin. Un lien ignoré affiche une notification indiquant la raison :

| Notification | Cause |
| --- | --- |
| `Ignored a malformed elide:// link.` | Encodage incorrect, clé répétée, fragment ou chemin hors de sa racine. |
| `Ignored an elide:// link whose root has no elide.pkl.` | `root` n'est pas un répertoire de projet. |
| `Ignored an elide:// link outside a detected project.` | Pas de `root`, et le fichier n'appartient à aucun projet détecté par cette fenêtre. |
| `The linked file does not exist.` | Le fichier a été déplacé ou supprimé. |
| `elide:// links open on local hosts only.` | Le lien a été cliqué dans un volet distant. |

Les chemins sont comparés tels qu'écrits : un lien vers `/tmp/x` ne correspond pas à un projet situé dans
`/private/tmp/x`.

## L'éditeur de source

| Symptôme | Cause |
| --- | --- |
| Pas de coloration | Le fichier compte plus de 600 lignes. |
| Un avis au lieu du texte | Le fichier dépasse 512 KiB, est illisible ou n'est pas en UTF-8. |
| `Elide source shows JavaScript, TypeScript, Python, Kotlin and Java files.` | Les autres types de fichiers s'ouvrent dans l'éditeur de Tern. |
| Pas de superposition **Debug** | Le fichier n'est ni JavaScript, ni TypeScript, ni Python. |
| Pas de superposition **Diagnostics** | Le projet n'a pas encore de rapport de build ; lancez `elide build` dans un terminal Tern. |
| Toutes les teintes de couverture atténuées, `Coverage measured an older version` | Le fichier a changé depuis l'exécution de couverture ; relancez la couverture. |

## Débogage

| Message | Solution |
| --- | --- |
| `Save this file before debugging.` | Le débogueur exécute le fichier présent sur le disque. Enregistrez, puis lancez. |
| `Debugging takes JavaScript, TypeScript or Python sources.` | Choisissez un fichier pris en charge, ou utilisez le sélecteur de cible. |
| Commandes désactivées avec `Take control to drive the target` | Une autre vue contrôle la cible ; choisissez **Take control**. |

## Voir aussi

- [Dépannage](/docs/troubleshooting) pour les erreurs hors de Tern
- [Dépannage d'OpenTelemetry](/docs/opentelemetry/troubleshooting)
