title: Install packages with Yarn on Elastic Beanstalk
body: <p>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 <a href="https://gist.github.com/cooperka/0960c0652353923883db15b4b8fc8ba5" rel="noreferrer">this gist</a>.</p>
  
  <pre><code>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
  </code></pre>