У меня возникла проблема с моим ботом Discord.JS V.14. В качестве хоста использую Render. У меня есть репозиторий моего бота на GitHub, и я связал его с Render, но когда я пытаюсь его запустить (команда установки: npm install
и команда запуска: node app.js
), он возвращает эту ошибку:
==> Starting service with 'node app.js'
internal/modules/cjs/loader.js:888
throw err;
^
Error: Cannot find module 'node:events'
Require stack:
- /opt/render/project/src/node_modules/discord.js/src/client/BaseClient.js
- /opt/render/project/src/node_modules/discord.js/src/index.js
- /opt/render/project/src/index.js
- /opt/render/project/src/app.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:885:15)
at Function.Module._load (internal/modules/cjs/loader.js:730:27)
at Module.require (internal/modules/cjs/loader.js:957:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/opt/render/project/src/node_modules/discord.js/src/client/BaseClient.js:3:22)
at Module._compile (internal/modules/cjs/loader.js:1068:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
at Module.load (internal/modules/cjs/loader.js:933:32)
at Function.Module._load (internal/modules/cjs/loader.js:774:14)
at Module.require (internal/modules/cjs/loader.js:957:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/opt/render/project/src/node_modules/discord.js/src/client/BaseClient.js',
'/opt/render/project/src/node_modules/discord.js/src/index.js',
'/opt/render/project/src/index.js',
'/opt/render/project/src/app.js'
]
}
App.js
Файл:
// import required modules
const express = require('express');
const bodyParser = require('body-parser');
const config = require('./config.json');
const startServer = require('./index.js');
console.info(startServer); // make sure that startServer is imported correctly
// create an instance of express
const app = express();
// use body-parser middleware
app.use(bodyParser.json());
// define routes
app.get('/', (req, res) => {
res.send('Hello, world!');
});
// start the server
const PORT = process.env.PORT || config.port;
app.listen(PORT, () => {
console.info(`Server started on port ${PORT}`);
});
Это происходит только тогда, когда я включаю эту строку кода здесь: const startServer = require('./index.js');
. Когда я удаляю его, консоль не возвращает никаких ошибок и регистрирует это:
==> Starting service with 'node app.js'
Server started on port 3000
Но он не запускает файл index.js
, поэтому остальная часть бота остается деактивированной! Мне нужен способ запустить app.js
и index.js
без каких-либо ошибок. Заранее спасибо.
Кажется, Render по умолчанию использует версию Node 14.17.0
. Однако для discord.js v14 требуется версия Node 16.9.0
или выше.
Вы можете обновить свой файл package.json
этим, чтобы рендеринг использовал другую версию node.js:
"engines": {
"node": ">=16.9"
}
Другие способы обновления Node on Render можно найти на сайте render.com.