目前您无法使用 yum 安装 yarn,因此似乎没有简单的方法来创建在资产预编译之前安装它的配置。
答案1
您可以使用以下方式自定义安装的软件包和部署时运行的命令:.ebextensions
对于 yarn,我创建了一个文件,其中包含以下命令,用于安装最新的节点版本和 yarn:
# .ebextensions/yarn.config
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:
# don't run the command if yarn is already installed (file /usr/bin/yarn exists)
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
更多文档:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
答案2
正如接受的答案中所述,您可以创建.ebextensions/some.config
订购的 EB 实例以在实例创建时安装 yarn。在当前的 EB 环境中,我发现以下配置更简洁易懂:
# .ebextensions/some.config
commands:
01_install_yarn:
command: |
set -e
npm i -g yarn
ln -s "$(npm bin --global)"/yarn /usr/bin/yarn
test: "! yarn -v"
事实上,当前的 EB ruby 环境包含node
可在 处获得的二进制文件/usr/bin/node
,您可以使用它yarn
通过进行安装npm
。