Я пытался развернуть приложение Discord JS на Heroku. При развертывании кажется, что на узле уже установлены все зависимости. Но в журналах приложений он там отсутствует.
Вот мой последний журнал сборки
-----> Node.js app detected
-----> Creating runtime environment
NPM_CONFIG_LOGLEVEL=error
NODE_ENV=production
NODE_MODULES_CACHE=true
NODE_VERBOSE=false
-----> Installing binaries
engines.node (package.json): 10.16.3
engines.npm (package.json): 6.9.0
Resolving node version 10.16.3...
Downloading and installing node 10.16.3...
npm 6.9.0 already installed with node
-----> Restoring cache
- node_modules (not cached - skipping)
-----> Installing dependencies
Installing node modules (package.json)
up to date in 0.303s
found 0 vulnerabilities
-----> Build
-----> Caching build
- node_modules (nothing to cache)
-----> Pruning devDependencies
up to date in 0.282s
found 0 vulnerabilities
-----> Build succeeded!
-----> Discovering process types
Procfile declares types -> worker
Default types for buildpack -> web
-----> Compressing...
Done: 19.3M
-----> Launching...
Released v15
https://botcia-discordjs.herokuapp.com/ deployed to Heroku
Я думаю, что развертывание не имеет никаких проблем. Но затем в журнале приложений появляется ошибка, из-за которой бот не запускается.
2020-01-22T06:47:36.137591+00:00 heroku[worker.1]: State changed from crashed to starting
2020-01-22T06:47:37.772565+00:00 heroku[worker.1]: Starting process with command `node main.js`
2020-01-22T06:47:38.336892+00:00 heroku[worker.1]: State changed from starting to up
2020-01-22T06:47:39.738190+00:00 heroku[worker.1]: State changed from up to crashed
2020-01-22T06:47:39.721156+00:00 heroku[worker.1]: Process exited with status 1
2020-01-22T06:47:39.657493+00:00 app[worker.1]: internal/modules/cjs/loader.js:638
2020-01-22T06:47:39.657520+00:00 app[worker.1]: throw err;
2020-01-22T06:47:39.657522+00:00 app[worker.1]: ^
2020-01-22T06:47:39.657523+00:00 app[worker.1]:
2020-01-22T06:47:39.657525+00:00 app[worker.1]: Error: Cannot find module 'discord.js'
//more error
На самом деле, первая найденная ошибка не может найти модуль. Так что, если мне удастся исправить разногласия. js, я получу еще одну проблему. Мой package.json
файл:
{
"name": "xxxxx",
"version": "1",
"main": "main.js",
"license": "MIT",
"scripts": {
"start": "node main.js"
},
"dependencies": {
"discord.js": "^11.5.1",
"dotenv": "^8.2.0",
"fs": "^0.0.1-security",
"moment": "^2.24.0",
"youtube-info": "^1.3.2"
},
"engines": {
"node": "10.16.3",
"npm": "6.9.0"
},
"repository": {
"type": "git",
"url": "https://github.com/xxxx/xxxx"
},
"author": "XXXX <xxxxxxxxx@gmail.com>",
"private": false
}
Procfile
файл:
worker: node main.js
requirements.txt
файл:
npm install discord.js
Обратите внимание, что я развертываю сервер использует GUI на своем веб-сайте, а не CLI. Так что я не знаю, как решить это без CLI.