2021-12-02T02:42:45.888858+00:00 app[worker.1]: /app/node_modules/discord.js/src/rest/APIRequest.js:33 2021-12-02T02:42:45.888875+00:00 app[worker.1]: agent ??= new https.Agent({ ...this.client.options.http.agent, keepAlive: true }); 2021-12-02T02:42:45.888876+00:00 app[worker.1]: ^^^ 2021-12-02T02:42:45.888876+00:00 app[worker.1]: 2021-12-02T02:42:45.888877+00:00 app[worker.1]: SyntaxError: Unexpected token '??='Recibo este error al intentar iniciar un nuevo bot Discord.JS v13 heroku.
Mi Procfile dice: worker: node src/index.js
Agregué mi .env y configuré cómo se inicia el bot, en lugar de usar npm start. Como probablemente puedas deducir, no tengo un ??= en ninguna parte de mi código. ¿Cómo puedo solucionar este problema?
El error proviene de discord.js y se debe a que está utilizando una versión anterior de node.js. El operador de asignación nulo lógico ( ??= ) solo está disponible en el nodo v15+ .
Heroku dice que "si no se especifica una versión de Node en el motor, se usará la versión 14.x" . Puede agregar una propiedad de engines a su archivo package.json para especificar la versión de node.js. Como discord.js v13 requiere node.js v16.6+ , puede agregar lo siguiente:
"engines": { "node": "16.6" }O para solicitar la última v16, agregue esto:
"engines": { "node": "16.x" }