Erreur : module « <nom> » introuvable
Il manque à un script des pièces dont il a besoin, en général parce qu'il a été téléchargé depuis GitHub sans ses dépendances.
Faites d'abord ceci
Récupérez une vraie release chez le vendeur, plutôt qu'un téléchargement du code source.
Ce que ça veut dire
Une ressource JavaScript a demandé un paquet absent. FXServer exécute Node pour les server_scripts en .js, et résout les modules depuis le node_modules de la ressource elle-même.
Ce qui la provoque
Classé par fréquence : la cause la plus probable en premier.
- 1
node_modules n'a jamais été installé
La ressource a livré son
package.jsonmais pas ses dépendances. Les ressources publiées les embarquent en général ; une ressource GitHub, non. - 2
C'est un module natif de Node que FXServer n'expose pas
Le Node de FXServer n'est pas une installation Node complète. Certains modules natifs sont absents.
- 3
Un chemin relatif erroné
require('./utils')alors que le fichier est./lib/utils.js. L'extension et la casse comptent toutes les deux. - 4
ESM et CommonJS mélangés
importdans un fichier chargé en CommonJS, ou l'inverse. L'erreur peut se présenter comme un module manquant. - 5
node_modules a été installé pour une autre plateforme
Un module natif compilé sous Windows, copié sur un serveur Linux.
Comment savoir laquelle est la vôtre
Cherchez le dossier :
ls mon-script/node_modules | head
Absent en totalité, c'est la cause 1. Présent mais sans le paquet nommé, c'est une installation partielle.
Où regarder
Le package.json de la ressource et son node_modules.
Comment la corriger
Installez dans le dossier de la ressource :
cd resources/mon-script npm install --omit=dev
Puis redémarrez le serveur. Installer à la racine du serveur ne sert à rien : la résolution part de la ressource.
Toujours bloqué sur votre propre code ?
Cette page explique ce que cette erreur signifie en général. Collez votre console dans Server Fixer : il classera tout ce qui s'y trouve et vous dira quoi faire en premier ; et si vous préférez ne pas y toucher, ORBIE peut réparer le script et vous rendre la ressource prête à déposer.
bug_reportOuvrir le Server FixerPour ce type d'erreur, le Script Optimizer lit le script et répare le code derrière tout ça.