Я новичок в сервисе Elasti c BeanStalk AWS. Мое приложение состоит из двух частей: серверная часть - node.js, которая обслуживает вторую часть, ie. клиент - Реакт. js. Конечно, чтобы запустить клиентские файлы stati c с сервера, мне нужно сначала создать клиентские файлы. И это именно то, что я хочу сделать при развертывании моего приложения в AWS - после развертывания я бы хотел запустить ловушку, которая вызовет npm install
и npm run build
.
в root моего приложения Я создал .ebextensions
dir и поместил туда 01_build.config
файл:
commands:
create_post_dir:
command: "mkdir /opt/elasticbeanstalk/hooks/appdeploy/post"
ignoreErrors: true
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/99_build_app.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
cd /var/app/current/client/
npm install
npm run build
Однако это делает AWS развертывание Cru sh. Вот что он говорит:
Application update failed at 2020-04-03T10:47:31Z with exit status 127 and error: Hook /opt/elasticbeanstalk/hooks/appdeploy/post/99_build_app.sh failed.
/opt/elasticbeanstalk/hooks/appdeploy/post/99_build_app.sh: line 3: npm: command not found
/opt/elasticbeanstalk/hooks/appdeploy/post/99_build_app.sh: line 4: npm: command not found.
Что мне здесь не хватает?