Невозможно отправить sh в Heroku: Не удается найти модуль 'node- linux -x64 / package. json' - PullRequest
0 голосов
/ 26 февраля 2020

Я действительно застрял и был бы очень признателен за помощь. Этот вопрос ранее задавался здесь Ошибка при отправке в Heroku: Однако не удается найти модуль 'node- linux -x64 / package.json' , несмотря на то, что я попробовал все предложения, но я все еще не смог решить эту проблему.

Точно так же, как человек, который ранее публиковал проблему, я пытаюсь загрузить sh приложение с полным стеком Javascript в Heroku.

Я переустановил все свои зависимости и даже понизил мой узел и npm.

Эта проблема особенно запутана, так как я Windows пользователь, так что я получаю ошибка о модуле относительно linux выглядит довольно странно.

Пожалуйста, помогите.

C:\Users\Greg\Desktop\GregBots\reactbot> git push heroku master
Enumerating objects: 41, done.
Counting objects: 100% (41/41), done.
Delta compression using up to 8 threads
Compressing objects: 100% (28/28), done.
Writing objects: 100% (28/28), 19.45 KiB | 1.95 MiB/s, done.
Total 28 (delta 15), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Node.js app detected
remote:
remote: -----> Creating runtime environment
remote:
remote:        NPM_CONFIG_LOGLEVEL=error
remote:        NODE_ENV=production
remote:        NODE_MODULES_CACHE=true
remote:        NODE_VERBOSE=false
remote:
remote: -----> Installing binaries
remote:        engines.node (package.json):  13.6.0
remote:        engines.npm (package.json):   6.13.4
remote:
remote:        Resolving node version 13.6.0...
remote:        Downloading and installing node 13.6.0...
remote:        npm 6.13.4 already installed with node
remote:
remote: -----> Restoring cache
remote:        Cached directories were not restored due to a change in version of node, npm, yarn or stack
remote:        Module installation may take longer for this build
remote:
remote: -----> Installing dependencies
remote:        Installing node modules (package.json + package-lock)
remote:
remote:        > node@13.8.0 preinstall /tmp/build_5798122e415d759253929a4b5b0a6c16/node_modules/node
remote:        > node installArchSpecificPackage
remote:
remote:        npm ERR! code ETARGET
remote:        npm ERR! notarget No matching version found for node-linux-x64@13.8.0.
remote:        npm ERR! notarget In most cases you or one of your dependencies are requesting
remote:        npm ERR! notarget a package version that doesn't exist.
remote:
remote:        npm ERR! A complete log of this run can be found in:
remote:        npm ERR!     /tmp/npmcache.3VsTs/_logs/2020-02-26T01_02_25_357Z-debug.log
remote:        internal/modules/cjs/loader.js:976
remote:          throw err;
remote:          ^
remote:
remote:        Error: Cannot find module 'node-linux-x64/package.json'
remote:        Require stack:
remote:        - /tmp/build_5798122e415d759253929a4b5b0a6c16/node_modules/node/installArchSpecificPackage.js
remote:            at Function.Module._resolveFilename (internal/modules/cjs/loader.js:973:15)
remote:            at Function.resolve (internal/modules/cjs/helpers.js:78:19)
remote:            at ChildProcess.<anonymous> (/tmp/build_5798122e415d759253929a4b5b0a6c16/node_modules/node-bin-setup/index.js:18:27)
remote:            at ChildProcess.emit (events.js:321:20)
remote:            at maybeClose (internal/child_process.js:1028:16)
remote:            at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5) {
remote:          code: 'MODULE_NOT_FOUND',
remote:          requireStack: [
remote:            '/tmp/build_5798122e415d759253929a4b5b0a6c16/node_modules/node/installArchSpecificPackage.js'
remote:          ]
remote:        }
remote:        npm ERR! code ELIFECYCLE
remote:        npm ERR! errno 1
remote:        npm ERR! node@13.8.0 preinstall: `node installArchSpecificPackage`
remote:        npm ERR! Exit status 1
remote:        npm ERR!
remote:        npm ERR! Failed at the node@13.8.0 preinstall script.
remote:        npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
remote:
remote:        npm ERR! A complete log of this run can be found in:
remote:        npm ERR!     /tmp/npmcache.3VsTs/_logs/2020-02-26T01_02_26_775Z-debug.log
remote:
remote: -----> Build failed
remote:
remote:        We're sorry this build is failing! You can troubleshoot common issues here:
remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys
remote:
remote:        Some possible problems:
remote:
remote:        - A module may be missing from 'dependencies' in package.json
remote:          https://devcenter.heroku.com/articles/troubleshooting-node-deploys#ensure-you-aren-t-relying-on-untracked-dependencies
remote:
remote:        Love,
remote:        Heroku
remote:
remote:  !     Push rejected, failed to compile Node.js app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to infinite-sea-94371.
remote:
To https://git.heroku.com/infinite-sea-94371.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/infinite-sea-94371.git'
PS C:\Users\Greg\Desktop\GregBots\reactbot>

Спасибо большое за ваши предложения Мазен. Я прошел ваш совет, но все еще не могу развернуться к Героку. Теперь я прикрепил свой пакет. json, который я также отправляю в Heroku, поскольку Heroku устанавливает зависимости, необходимые для этого пакета.

    {
  "name": "reactbot",
  "version": "1.0.0",
  "description": "React bot",
  "main": "index.js",
  "engines": {
    "node": "13.6.0",
    "npm": "6.13.4"
  },
  "scripts": {
    "start": "node index.js",
    "backend": "nodemon index.js",
    "frontend": "npm run start --prefix client",
    "dev": "concurrently \"npm run backend\" \"npm run frontend\"",
    "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "actions-on-google": "^2.12.0",
    "body-parser": "^1.19.0",
    "dialogflow": "^1.2.0",
    "dialogflow-fulfillment": "^0.6.1",
    "express": "^4.17.1",
    "mongoose": "^5.9.2"
  },
  "devDependencies": {
    "concurrently": "^5.1.0",
    "nodemon": "^2.0.2"
  }
}

1 Ответ

0 голосов
/ 26 февраля 2020

Эта ошибка может быть вызвана несколькими причинами:

  • В соответствии с вашей ошибкой, пакет npm node-linux-x64 имеет неправильную версию, которая не существует. Удалите node-linux-x64, так как Heroku установит самую последнюю версию Node.js для своей системы или установит для нее существующую версию.
  • Вы загрузили sh свой пакет. json файл с вашим кодом?
  • Вы отправили свой node_module в Heroku, в котором есть определенные версии некоторых пакетов, которые могут работать только в вашем дистрибутиве / ОС.
  • Возможно, вы установили пакет npm глобально и забыли включить его в ваши пакеты. json файл.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...