Erro: não foi possível encontrar o módulo '<nome>'
Falta para um script peças de que ele precisa para rodar, normalmente porque foi baixado do GitHub sem os extras.
Faça isto primeiro
Pegue uma release de verdade do vendedor, em vez de um download do código-fonte.
O que significa
Um resource de JavaScript pediu um pacote que não está lá. O FXServer roda Node para os server_scripts terminados em .js, e resolve os módulos a partir do node_modules do próprio resource.
O que causa isso
Ordenado pela frequência com que é a resposta.
- 1
O node_modules nunca foi instalado
O resource trouxe o
package.jsondele e não as dependências. Resources publicados costumam empacotá-las; um do GitHub normalmente não. - 2
É um módulo embutido do Node que o FXServer não expõe
O Node do FXServer não é uma instalação completa do Node. Alguns módulos embutidos não estão lá.
- 3
Um caminho relativo que está errado
require('./utils')quando o arquivo é./lib/utils.js. Tanto a extensão quanto as maiúsculas importam. - 4
ESM e CommonJS misturados
importnum arquivo carregado como CommonJS, ou o contrário. O erro pode aparecer como um módulo faltando. - 5
O node_modules foi instalado para outra plataforma
Um módulo nativo compilado no Windows, copiado para um servidor Linux.
Como saber qual é o seu
Procure a pasta:
ls meu-script/node_modules | head
Não existir de jeito nenhum é a causa 1. Existir mas faltar o pacote que ele nomeia é uma instalação pela metade.
Onde olhar
O package.json do resource e o node_modules dele.
Como consertar
Instale dentro da pasta do resource:
cd resources/meu-script npm install --omit=dev
E reinicie o servidor. Instalar na raiz do servidor não ajuda: a resolução começa pelo resource.
Ainda travado no seu próprio código?
Esta página é o que esse erro costuma significar. Cole o seu console no Server Fixer e ele vai ordenar tudo o que estiver lá e te dizer o que fazer primeiro; e se você preferir não mexer, o ORBIE consegue consertar o script e te devolver o resource pronto para soltar.
bug_reportAbrir o Server FixerPara esse tipo de erro, o Script Optimizer lê o script e conserta o código por trás disso.