#node.js #jenkins #amazon-ec2 #aws-codebuild #react-scripts
#node.js #дженкинс #amazon-ec2 #aws-codebuild #реагирующие скрипты
Вопрос:
Я действительно изо всех сил пытаюсь развернуть приложение React на EC2 с помощью Jenkins amp; AWS CodeDeploy. Каждый раз, когда я начинаю развертывать код, я получаю следующую ошибку:
[stdout]> react-scripts start
[stdout]
[stderr]node:internal/modules/cjs/loader:922
[stderr] throw err;
[stderr] ^
[stderr]
[stderr]Error: Cannot find module '../scripts/start'
[stderr]Require stack:
[stderr]- /vclms/frontend/node_modules/.bin/react-scripts
[stderr] at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:15)
[stderr] at Function.resolve (node:internal/modules/cjs/helpers:98:19)
[stderr] at Object.<anonymous> (/vclms/frontend/node_modules/.bin/react-scripts:31:23)
[stderr] at Module._compile (node:internal/modules/cjs/loader:1102:14)
[stderr] at Object.Module._extensions..js (node:internal/modules/cjs/loader:1131:10)
[stderr] at Module.load (node:internal/modules/cjs/loader:967:32)
[stderr] at Function.Module._load (node:internal/modules/cjs/loader:807:14)
[stderr] at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
[stderr] at node:internal/main/run_main_module:17:47 {
[stderr] code: 'MODULE_NOT_FOUND',
[stderr] requireStack: [ '/vclms/frontend/node_modules/.bin/react-scripts' ]
[stderr]}
[stderr]npm ERR! code ELIFECYCLE
[stderr]npm ERR! errno 1
[stderr]npm ERR! frontend@0.1.0 start: `react-scripts start`
[stderr]npm ERR! Exit status 1
[stderr]npm ERR!
[stderr]npm ERR! Failed at the frontend@0.1.0 start script.
[stderr]npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
[stderr]
[stderr]npm ERR! A complete log of this run can be found in:
[stderr]npm ERR! /home/ec2-user/.npm/_logs/2020-11-23T22_40_49_472Z-debug.log
Мой Appspec.yml выглядит так:
version: 0.0
os: linux
files:
- source: /
destination: /vclms/frontend
hooks:
BeforeInstall:
- location: scripts/setup.sh
runas: ec2-user
ApplicationStart:
- location: scripts/start.sh
timeout: 300
runas: ec2-user
Setup.sh выглядит примерно так:
#!/bin/bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] amp;amp; . "$NVM_DIR/nvm.sh"
nvm install node
nvm install-latest-npm
И start.sh вот так:
#!/bin/bash
#backend start
# python vclms/backend/manage.py runserver 2>amp;1 amp;
#frontend start
whoami
whereis node
which node
whereis npm
which npm
cd /vclms/frontend
npm start
Кстати: файл node_modules/.bin/react-scripts существует.
Есть идеи, что здесь не работает? Я понятия не имею, куда смотреть после нескольких часов поиска…
С наилучшими пожеланиями, Макс
Комментарии:
1. Вы пробовали удалять
node_modules
и запускать зановоnpm i
?