sh: 1: ts-node: not found

Estou tentando realizar o deploy de uma api em node com typescript e o mesmo não executa o arquivo. No ambiente local e no heroku funcionam normalmente, mas quando faço deploy pelo umbler, me retorna o log:

Jun 25 10:28:41 npm ERR! /usr/src/app/.npm/_logs/2020-06-25T13_28_41_035Z-debug.log
Jun 25 10:28:41 npm ERR! A complete log of this run can be found in:
Jun 25 10:28:41
Jun 25 10:28:41 npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
Jun 25 10:28:41 npm ERR! Failed at the api-xxx@1.0.0 start script.
Jun 25 10:28:41 npm ERR!
Jun 25 10:28:41 npm ERR! spawn ENOENT
Jun 25 10:28:41 npm ERR! api-xxx@1.0.0 start: ts-node ./src/server.ts
Jun 25 10:28:41 npm ERR! errno ENOENT
Jun 25 10:28:41 npm ERR! file sh
Jun 25 10:28:41 npm ERR! syscall spawn
Jun 25 10:28:41 npm ERR! code ELIFECYCLE
Jun 25 10:28:41 sh: 1: ts-node: not found
Jun 25 10:28:41
Jun 25 10:28:41 > ts-node ./src/server.ts
Jun 25 10:28:41 > api-xxx@1.0.0 start /usr/src/app
Jun 25 10:28:41

Olá, boa tarde! Tudo certo? :wink:

Percebi que você entrou em contato com a gente pelo chat no painel de controle e já conseguiu resolver essa dificuldade com o auxílio do pessoal do suporte <3

Então, caso você precise tirar mais alguma dúvida ou tenha mais alguma dificuldade, estou à disposição!

Até mais :wave:

Estou tendo a mesma dificuldade, qual foi a solução?

Eu estava usando o deploy automático usando a master do github, quando eles pegavam os arquivos, não estava indo o NPM INSTALL. Para resolver eu dou push na master da umbler e funciona direitinho

Exato, obrigado por compartilhar sua solução :clap:

@Renata_Ferreira, O que acontece é que se o deploy foi feito via Git para o painel da Umbler as dependências contidas no package.json são lidas e é rodado o npm install pelo próprio painel automaticamente.

Porém, se foi feito deploy via Filezilla, daí você precisa executar o npm install localmente no seu projeto e enviar pelo Filezilla todas as dependências do projeto, ou seja, toda a node_modules.

Raramente por algum motivo o painel pode não identificar o seu arquivo package.json, se deploy feito via Git, ou ele pode estar em alguma pasta incorreta. Com isso as dependências acabam não sendo instaladas, que no caso foi o seu erro ali que faltou a dependência do Typescript. O package.json precisa estar na pasta raiz do seu projeto e não pode estar em nenhuma outra sub-pasta.

@GrupoRenocar exatamente, com o push na master da Umbler o painel identifica e a partir dai tenta baixar suas dependências novamente, isso deve funcionar sempre :smiley: