我对AWS Beanstalk部署的整体工作流程很好奇.我假设它在某些时候运行npm以获得在服务器上安装的软件包.但我只是想知道AWS Beanstalk是否使用'npm install --production'的最新命令来安装软件包.目前我有一个如下所示的packages.json文件,并且如果可能的话,我想确保只安装依赖项而不是devDependencies.
"dependencies": {
"express": "3.4.4",
"jade": "*",
"restify": "~2.6.0",
"assert": "~1.0.0",
"orchestrate": "0.0.2",
"chance": "~0.5.3"
},
"devDependencies": {
"mocha": "~1.15.1"
}
Run Code Online (Sandbox Code Playgroud) 我想使用 Yarn 作为 NPM 的替代品在 Elastic Beanstalk 上安装软件包。我已经尝试了在网上找到的各种解决方案,但它们似乎都已过时且不再有效。这就是我现在所拥有的,如本要点中所述。
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' …Run Code Online (Sandbox Code Playgroud)