Задать вопрос
@RailoTheRiolu

Discord.JS ошибка инсталяции модуля в Heroku. Как исправить?

Я пишу бота на JavaScript для Discord через Visual Studio Code. В этой программе всё нормально, инсталляция модулей прошла успешно. Инсталлировал я cheerio и request. Бота в программе запустил. Но, есть но. Для круглосуточной работы я использую heroku, денег на нормальный хостинг сейчас не имеется. В heroku папка node_models не требуется. Даже с ней папка просто идёт в игнор, и это не мешает работе бота. Вот как только в package.json появляются cheerio и request меняется дело, выдаёт ошибку.
-----> Building on the Heroku-18 stack
-----> 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):  unspecified
       engines.npm (package.json):   unspecified (use default)
       
       Resolving node version 12.x...
       Downloading and installing node 12.20.1...
       Using default npm version: 6.14.10
       
-----> Restoring cache
       - node_modules
       
-----> Installing dependencies
       Installing node modules
       npm ERR! cipm can only install packages when your package.json and package-lock.json or npm-shrinkwrap.json are in sync. Please update your lock file with `npm install` before continuing.
       npm ERR! 
       npm ERR! 
       npm ERR! Missing: cheerio@^1.0.0-rc.5
       npm ERR! Missing: request@^2.88.2
       npm ERR! 
       
       npm ERR! A complete log of this run can be found in:
       npm ERR!     /tmp/npmcache.hstm7/_logs/2021-01-26T18_51_13_601Z-debug.log
-----> Build failed
       
       We're sorry this build is failing! You can troubleshoot common issues here:
       https://devcenter.heroku.com/articles/troubleshooting-node-deploys
       
       Some possible problems:
       
       - Node version not specified in package.json
         https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version
       
       Love,
       Heroku
       
 !     Push rejected, failed to compile Node.js app.
 !     Push failed
  • Вопрос задан
  • 161 просмотр
Подписаться 2 Простой 2 комментария
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега Боты
Javascript-разработчик
попробуйте добавить в package.json следующий ключ:
"engines": {
    "node": "ваша_версия_node"
 }

узнать версию node: node -v в консоль.

рекомендуется использовать x в патче, чтобы получать последние обновления патчей от Node.
также можно указать второстепенный диапазон (например, 14.15) и точную версию (например, 14.15.4).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Mixamixamaxa
конечно не решение, но есть другие бесплатные хостинг 24/7. К примеру something.host, попробуй его
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы