Erreur : le fichier de démarrage est introuvable
Faire correspondre le nom réel du fichier avec la variable de démarrage sans déplacer tout le projet. Ouvrez Fichiers et confirmez la casse exacte.
Les messages Cannot find module, can’t open file ou No such file or directory apparaissent souvent lorsque le panel cherche index.js, main.py ou un fichier situé dans un sous-dossier différent.
Procédure étape par étape
-
Lire le chemin demandé
Dans la première ligne d’erreur, relevez le chemin exact tenté par Node.js ou Python.
-
Vérifier les fichiers
Ouvrez Fichiers et confirmez la casse exacte : Bot.js et bot.js sont différents sous Linux.
-
Corriger la variable
Dans Démarrage, remplacez le fichier par src/index.js, app.py ou le chemin relatif réel.
-
Relancer et contrôler
Démarrez puis vérifiez que la console dépasse l’étape de chargement du fichier principal.
Exemples de chemins
Node.js: src/index.js
Python: bot/main.py
Java: build/libs/app.jar
Où le bot cherche son fichier
Sur la plateforme bots d’ACLClouds, les fichiers du bot sont placés dans /app, la racine que vous voyez dans Fichiers. Le chemin du fichier principal est relatif à cette racine : écrivez src/index.js, sans /app/ ni /home/container/ devant.
Ce chemin est réglé dans Démarrage : la variable MAIN_FILE pour Node.js, utilisée par la commande node {{MAIN_FILE}}, et la variable PY_FILE pour Python, utilisée par python -u {{PY_FILE}}. Si la variable garde sa valeur par défaut (index.js ou app.py) alors que votre fichier porte un autre nom, le bot s’arrête dès le lancement avec l’une de ces lignes :
- Node.js : Error: Cannot find module '/app/index.js', suivi de code: 'MODULE_NOT_FOUND' ;
- Python : python: can't open file '/app/app.py': [Errno 2] No such file or directory.
Le bouton « Corriger » de la console
Quand la console reconnaît cette erreur, elle ouvre la fenêtre « Fichier de démarrage introuvable » avec le nom recherché. « Corriger » parcourt la racine et deux niveaux de sous-dossiers, choisit le fichier à lancer, l’enregistre dans Démarrage puis redémarre le bot. Rien n’est modifié sans ce clic.
Le fichier est choisi dans cet ordre : pour Node.js, celui que déclare main ou le script start de package.json ; ensuite un fichier du même nom que celui recherché, par exemple dans le dossier créé par une archive ; enfin un nom usuel (index.js, bot.js, main.js, app.js, src/index.js, ou main.py, bot.py, app.py). Si rien ne convient, le bouton « Ouvrir Fichiers » remplace « Corriger ».
Vérifier après la correction
Au démarrage suivant, la console affiche la commande réellement lancée, par exemple $ node src/index.js ou $ python -u bot/main.py. Comparez ce chemin avec Fichiers, casse comprise. Les lignes qui suivent doivent venir de votre code, comme le message de connexion à Discord.
Ne renommez pas au hasard
Vérifiez aussi les imports, scripts package.json et fichiers de configuration qui utilisent l’ancien chemin.
Questions fréquentes
La console affiche Cannot find module alors que mon fichier existe : pourquoi ?
Comparez le chemin affiché après /app/ avec l’arborescence de Fichiers. Les causes habituelles sont une majuscule (Index.js), une autre extension (.mjs, .ts) ou un fichier rangé dans un dossier comme my-bot-main/ après l’extraction d’une archive GitHub. Corrigez la variable plutôt que de déplacer les fichiers un par un.
Mon projet est en TypeScript : que mettre dans MAIN_FILE ?
Vous pouvez indiquer le fichier source, par exemple src/index.ts : la plateforme lance les fichiers .ts avec tsx. Si vous lancez le code compilé, indiquez dist/index.js et vérifiez que ce dossier existe dans Fichiers. Un dossier dist exclu par .gitignore doit être produit avec npm run build ou envoyé à part.
J’ai changé MAIN_FILE mais le bot lance toujours l’ancien fichier : que faire ?
La variable s’applique au démarrage suivant : redémarrez le bot depuis la console. Si la commande de démarrage a été modifiée à la main et ne contient plus {{MAIN_FILE}}, la variable n’est plus lue. Corrigez la commande avec « Modifier », ou cliquez sur « Tout réinitialiser » puis réglez de nouveau MAIN_FILE.