Comment installer les dépendances de mon bot ?
Installez les dépendances Node.js ou Python de votre bot avec npm ci ou pip, utilisez les lockfiles et corrigez les erreurs de compilation courantes.
Les dépendances doivent être décrites dans le projet. N’importez pas node_modules ou un environnement virtuel créé sur votre ordinateur.
Procédure étape par étape
-
Node.js
Conservez package.json et le lockfile, puis lancez npm ci pour une installation reproductible.
-
Python
Conservez requirements.txt ou pyproject.toml, puis installez les paquets avec pip dans l’environnement du serveur.
-
Lire la première erreur
Vérifiez la version de Node.js ou de Python, les paquets système manquants et l’état du lockfile.
-
Redémarrer après succès
Redémarrez le service après une installation sans erreur, puis vérifiez que le bot se charge.
Node.js
npm ci --omit=dev
Python
python -m pip install --user -r requirements.txt
Figer les dépendances Python en local
python -m venv .venv
source .venv/bin/activate
pip install discord.py python-dotenv
pip freeze > requirements.txt
Installation automatique au démarrage
Vous n’avez pas de terminal à ouvrir. À chaque démarrage, la plateforme compare les fichiers de dépendances et la version de Node.js ou de Python avec la dernière installation réussie. Si rien n’a changé, le bot démarre aussitôt. Sinon, la console affiche « Installation des dépendances (npm install) », ou pip install pour Python, puis la sortie de l’installateur et « Dépendances installées en 12 s ».
Pour Node.js, le lockfile présent est respecté : package-lock.json, yarn.lock ou pnpm-lock.yaml. Sans lockfile, les versions sont choisies depuis package.json au moment de l’installation et peuvent différer de celles testées sur votre ordinateur. Les scripts d’installation des paquets, par exemple la compilation d’un module natif, sont exécutés dans un environnement isolé.
Pour Python, la plateforme installe requirements.txt, ou à défaut les dependencies de la section [project] de pyproject.toml. Les paquets vont dans le dossier .deps du bot, déjà connu de Python : n’envoyez ni venv ni .venv.
Quand l’installation échoue
La console affiche « Échec de l’installation des dépendances » suivi de la cause. Remontez à la première ligne d’erreur de l’installateur : les suivantes n’en sont souvent que la conséquence. Corrigez le fichier concerné, puis redémarrez le bot pour relancer l’installation.
Si le code importe un paquet absent, la console affiche une carte « Module manquant » avec un bouton « Installer ». Il ajoute le paquet à package.json ou à requirements.txt, puis redémarre le bot pour l’installer. Remplacez ensuite la version ajoutée par celle que vous avez testée.
Contrôler l’installation
Après un changement de dépendances, la console doit montrer « Dépendances installées en 12 s », puis la commande lancée, par exemple $ node index.js ou $ python -u bot.py, et enfin les messages de votre code. Au redémarrage suivant, sans modification de fichiers, aucune installation ne doit apparaître.
Questions fréquentes
Faut-il envoyer le dossier node_modules ?
Non. Avant chaque installation, la plateforme supprime le dossier des dépendances (node_modules ou .deps) et le reconstruit pour son propre système. L’envoyer ralentit seulement le transfert et occupe de l’espace : sur l’offre gratuite, un envoi est limité à 100 Mo. Excluez-le de vos archives et de Git.
Pourquoi ModuleNotFoundError: No module named 'dotenv' alors que j’ai ajouté dotenv ?
Le nom importé diffère souvent du nom à installer : import dotenv demande le paquet python-dotenv, import yaml demande PyYAML et import PIL demande Pillow. Écrivez dans requirements.txt le nom du paquet, pas celui du module, puis redémarrez le bot.
Que fait « Réinstaller le serveur » sur un bot ?
Dans Paramètres, ce bouton supprime le dossier des dépendances, relance l’installation à partir des fichiers actuels, puis redémarre le bot. Vos fichiers et vos variables ne sont pas modifiés. Utilisez-le si l’installation semble incomplète alors que package.json et requirements.txt n’ont pas changé.