Chaque section cite une erreur telle qu’Elide l’affiche, puis donne le correctif.
Module intégré introuvable
Error: No such built-in module: node:http2node:http2, node:cluster, node:inspector et node:wasi ne sont pas disponibles ; require renvoie le code
ERR_UNKNOWN_BUILTIN_MODULE. Sans le préfixe node:, le message est Cannot find module 'http2'. Un paquet qui en
importe un au chargement, comme Fastify, échoue de la même façon. Vérifiez l’état d’un module dans la
Vue d’ensemble de l’API.
Module introuvable après elide install
TypeError: Module not found: 'hono'Un simple elide install n’installe que les dépendances Maven. Avec seulement un package.json, il n’affiche rien et
se termine avec 0. Installez les paquets npm avec :
elide install --ecosystems=npmPython n’est pas installé
Python support is not installed. Run 'elide setup python' to add it.Code de sortie 2. Exécutez elide setup python ; elide info liste les langages installés sur sa ligne
Languages:. Un fichier JavaScript qui importe un module .py avant l’installation de Python se termine avec 1 et
Cannot import 'mod.py': Python support is not installed., avec la même indication. Une fois Python installé, les
appels entre langages nécessitent aussi --interop ; voir Langages et interopérabilité.
elide javac sans --
error: '[-- TOOL_ARGS]…' can only be given after '--'
Usage: elide javac [FLAGS] [-- TOOL_ARGS]…Les arguments de javac, java, kotlinc et des autres outils du JDK se placent après -- :
elide javac -- -d out Hello.java
elide java -- -cp out HelloLes classes Kotlin échouent sous elide java
elide kotlinc -- -d kout Main.kt
elide java -- -cp kout MainKtException in thread "main" java.lang.NoClassDefFoundError: kotlin/collections/CollectionsKt
at MainKt.main(Main.kt:2)
at MainKt.main(Main.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.collections.CollectionsKtelide java n’ajoute pas la bibliothèque standard Kotlin. Exécutez le fichier avec elide run Main.kt, ou empaquetez
l’application en Jvm.JvmApplication.
kotlinc -include-runtime échoue.
Refus du bac à sable
| Message | Autorisation |
|---|---|
EACCES: permission denied, open 'hello. | --allow-read=PATHS ou --allow-write=PATHS |
Error: Filesystem read denied by policy: / | Ajoutez le magasin npm à --allow-read ; les paquets sont liés dans ~/.cache/aube |
fetch to 'example. | L’option indiquée dans le message |
spawn of 'echo' is not permitted; grant it with --allow-run= | L’option indiquée dans le message |
fetch to 'example. | Retirez l’hôte de --deny-net |
spawn of 'echo' denied by --deny-run | Retirez la commande de --deny-run |
Voir Bac à sable et limites.
--deny-net sans =
error: equal sign is needed when assigning values to '--deny-net=<HOSTS>'Code de sortie 2. Écrivez --deny-net=example.com ; il en va de même pour --deny-run. Les options --allow-*
prennent une valeur facultative : --allow-net example.com run app.js autorise donc tous les hôtes et tente d’exécuter
un fichier nommé example.com :
No file or script named 'example.com'Code de sortie 124
Error: --timeout 2s exceeded--timeout=DURATION a arrêté l’exécution. Augmentez la valeur ou retirez l’option.
Code de sortie 3 et mémoire épuisée
--heap-dump-on-oom=FILE écrit un vidage du tas lorsque le tas est plein, puis se termine avec 3 :
Dumping heap to …/oom.hprof ...
Heap dump file created [308989015 bytes in 0.988 secs]Sans cette option, si le tas est plein, le programme se termine avec 1 et
Could not allocate an unaligned heap chunk because the heap address space is exhausted. Augmentez --max-mem. Une
valeur de 128m ou moins échoue avant le démarrage du programme :
Failed to create isolate: INSUFFICIENT_ADDRESS_SPACE (802)Port déjà utilisé
node:http signale un port occupé :
Error: listen EADDRINUSE 127.0.0.1:3000Les serveurs à gestionnaire fetch (export default { fetch }, Elide.serve) ne signalent rien : un second serveur
démarre sur le même port, et les requêtes alternent entre les deux processus. Arrêtez d’abord l’ancien :
ss -ltnp | grep :3000Une requête renvoie 500 sans afficher d’erreur
HTTP/1.1 500 Internal Server ErrorUn gestionnaire fetch qui lève une exception répond 500 Internal Server Error sans afficher l’erreur. Entourez le
gestionnaire d’un try/catch et journalisez l’erreur. Voir Créer un service HTTP.
express.json() d’Express arrête le serveur
TypeError: Buffer.isBuffer is not a functionexpress.json() et express.text() arrêtent le processus à la première requête qui a un corps. Lisez le corps
vous-même ou utilisez express.raw() ; voir Frameworks.