Приложение Node не может быть развернуто на AWS Elastic Beanstalk
Я разрабатывал приложение на AWS EB в течение последних 2 месяцев без каких-либо проблем, но каждое обновление, которое я сейчас делаю в приложении, приводит к сбою процесса сборки на EB без какой-либо особой причины.
пакет.json
...
"engines": {
"npm": "8.15.0",
"node": "16.17.1"
},
"scripts": {
"seed": "medusa seed -f ./data/seed.json",
"build": "rm -rf dist && ./node_modules/.bin/tsc -p tsconfig.json",
"develop": "npm run build && PORT=8080 && node ./dist/main.js",
"start": "npm run build && medusa migrations run && PORT=8080 && node ./dist/main.js",
"start:watch": "NODE_ENV=development && nodemon --watch './src/**/*.ts' --exec 'ts-node' ./src/main.ts",
"start:prod": "npm run build && NODE_ENV=production node dist/main",
"prepare": "npm run build",
"heroku-postbuild": "npm run build && medusa migrations run"
},
"dependencies": {
"@medusajs/medusa": "^1.4.1",
"@medusajs/medusa-cli": "^1.3.3",
"medusa-extender": "^1.7.5",
"medusa-file-s3": "^1.1.6",
"medusa-fulfillment-manual": "^1.1.31",
"medusa-interfaces": "^1.3.3",
"medusa-payment-manual": "^1.0.16",
"medusa-payment-stripe": "^1.1.41",
"ts-node": "^10.7.0",
"typeorm": "^0.2.36",
"typescript": "^4.5.5"
},
"repository": "https://github.com/medusajs/medusa-starter-default.git",
"keywords": [
"sqlite",
"ecommerce",
"headless",
"medusa"
],
"devDependencies": {
"@babel/cli": "^7.14.3",
"@babel/core": "^7.14.3",
"@babel/preset-typescript": "^7.14.5",
"babel-preset-medusa-package": "^1.1.19",
"nodemon": "^2.0.20"
}
...
Ошибка в eb-engine.log
> medusa-starter-default@0.0.1 prepare
> npm run build
npm ERR! code 243
npm ERR! path /var/app/staging
npm ERR! command failed
npm ERR! command sh /tmp/prepare-ba157482.sh
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-11-18T23_24_30_766Z-debug-0.log
2022/11/18 23:25:23.949142 [ERROR] An error occurred during execution of command [app-deploy] - [Use NPM to install dependencies]. Stop running the command. Error: Command /bin/sh -c npm --production install failed with error exit status 243. Stderr:npm WARN config production Use `--omit=dev` instead.
npm ERR! code 243
npm ERR! path /var/app/staging
npm ERR! command failed
npm ERR! command sh /tmp/prepare-ba157482.sh
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2022-11-18T23_24_30_766Z-debug-0.log
CommandService Response: {"status":"FAILURE","api_version":"1.0","results":[{"status":"FAILURE","msg":"Engine execution has encountered an error.","returncode":1,"events":[{"msg":"Instance deployment: 'npm' failed to install dependencies that you defined in 'package.json'. For details, see 'eb-engine.log'. The deployment failed.","timestamp":1668813923949,"severity":"ERROR"},{"msg":"Instance deployment failed. For details, see 'eb-engine.log'.","timestamp":1668813923949,"severity":"ERROR"}]}]}
Полный журнал также не очень полезен, так как он показывает, что все пакеты были установлены, а затем выдает ту же ошибку 243, что и выше.
Я пытался:
- Использование экземпляра t2.2xlarge (с 32 ГБ ОЗУ), чтобы не было проблем с нехваткой памяти.
- Попытка использовать различные комбинации npm и node
- Пытаюсь бежать
npm --production install
иnpm run build --prod
на моем ноутбуке, который работает без каких-либо проблем - Пытаюсь запустить старую сборку моего приложения, которое, как я точно знаю, раньше безупречно работало на EB, но теперь оно тоже не работает.
Какие-либо предложения?