Problema
Hice un bot discord mecanografiado y lo alojé en heroku . Recibo el siguiente error al compilarlo y luego ejecutarlo.
Starting process with command `npm run dev` State changed from starting to up Process exited with status 127 > bot@1.0.0 dev > run-s build start sh: 1: run-s: not found State changed from up to crashed worker: npm run devpackage.json : // ... "scripts": { "build": "tsc", "watch": "tsc -w", "start": "node dist/index.js", "dev": "run-s build start", "watch:start": "tsc-watch --onSuccess \"node ./dist/index.js\"", "format": "prettier --write \"src/**/*.ts\"" }, "engines": { "node": "17.8.0" } // ...Información
Estoy implementando a través de Heroku CLI .
git push heroku mainFuera de la caja, en ausencia de un Procfile , Heroku ejecutará su secuencia de comandos de build en el momento de la compilación (cuando implemente) y su secuencia de comandos de start como un banco de pruebas web en el tiempo de ejecución (cuando se inicie su banco de pruebas).
Sus scripts de build e start tienen sentido, el primero ejecuta tsc para compilar su TypeScript a JavaScript y el último ejecuta el JavaScript compilado.
Dado que desea ejecutar un proceso de worker en lugar de un proceso web , necesita un Procfile , pero este entrega el trabajo al script incorrecto, usando dev en lugar de start :
worker: npm run dev Su dev de comandos de desarrollo intenta compilar su aplicación ya compilada en tiempo de ejecución, lo cual es un problema por varias razones:
run-s no está disponible, probablemente porque se declaró como una dependencia de desarrollorun-s , tsc probablemente no esté disponible en tiempo de ejecución (y no debería estarlo) porque se declaró como una dependencia de desarrollo Use su secuencia de comandos de start en lugar de su dev de comandos de desarrollo:
worker: npm run start