问题
I'd like to install packages on Elastic Beanstalk using Yarn as an alternative to NPM. I've tried all sorts of solutions I've found online, but they all appear to be outdated and no longer work. Here's what I have right now, as described in this gist.
files:
  '/opt/elasticbeanstalk/hooks/appdeploy/pre/49yarn.sh' :
    mode: '000755'
    owner: root
    group: root
    content: |
      #!/usr/bin/env bash
      set -euxo pipefail
      EB_APP_STAGING_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_staging_dir)
      if node -v; then
        echo 'Node already installed.'
      else
        echo 'Installing node...'
        curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
        yum -y install nodejs
      fi
      if yarn -v; then
        echo 'Yarn already installed.'
      else
        echo 'Installing yarn...'
        wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
        yum -y install yarn
      fi
  '/opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh' :
    mode: '000755'
    owner: root
    group: root
    content: |
      #!/usr/bin/env bash
      set -euxo pipefail
      yarn install --ignore-engines
回答1:
This is what I use to run Yarn on Beanstalk :
commands:
  01_install_node:
    command: |
      sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
      sudo yum -y install nodejs
  02_install_yarn:
    test: '[ ! -f /usr/bin/yarn ] && echo "Yarn not found, installing..."'
    command: |
      sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
      sudo yum -y install yarn
container_commands:
  01_run_yarn:
    command: |
      yarn install
      yarn run encore production
来源:https://stackoverflow.com/questions/56776021/install-packages-with-yarn-on-elastic-beanstalk