You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails 6+Tailwind应用部署AWS ElasticBeanstalk因Node.js依赖失败求助

问题根因

  • 命令执行顺序错误:现有配置先执行Yarn安装,再执行Node.js安装,Yarn的RPM包依赖Node.js环境,安装时未检测到对应依赖直接报错。
  • 命令冗余问题:01_install_yarn中已经执行了NodeSource源的配置,后续单独的02_install_nodejs属于冗余步骤,且顺序颠倒放大了依赖问题。
  • Node版本适配问题:原有配置使用的Node.js 12.x版本无法适配新版Tailwind CSS的运行要求,容易引发后续前端构建报错。

修复方案

第一步:调整01_rails_deploy.config的commands配置

commands:
  00_remove_old_node_if_present:
    command: "/bin/rm -rf /var/cache/yum && /usr/bin/yum remove -y nodejs && /bin/rm /etc/yum.repos.d/nodesource* && /usr/bin/yum clean all"
    ignoreErrors: true
  01_add_nodejs_repo:
    command: "curl --silent --location https://rpm.nodesource.com/setup_16.x | sudo bash -"
  02_install_nodejs:
    command: "sudo yum -y install nodejs"
  03_add_yarn_repo:
    command: "sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo"
  04_install_yarn:
    command: "sudo yum install yarn -y"
  05_mkdir_webapp_dir:
    command: "mkdir /home/webapp"
    ignoreErrors: true
  06_chown_webapp_dir:
    command: "chown webapp:webapp /home/webapp"
    ignoreErrors: true
  07_chmod_webapp_dir:
    command: "chmod 0744 /home/webapp"
    ignoreErrors: true

上述配置的调整逻辑:

  • 调整命令执行顺序,先配置Node.js源、安装Node.js,再配置Yarn源、安装Yarn,符合依赖安装逻辑
  • 升级Node.js版本到16.x,适配Tailwind CSS v3+的最低运行要求
  • 拆分原有耦合的多命令逻辑,便于后续单步定位错误

第二步:补充Rails + Tailwind场景适配配置(可选)

  • 在项目根目录新增.npmrc文件,添加配置unsafe-perm=true,避免EBS构建时前端依赖安装出现权限报错
  • 确认package.json中存在build命令,对应Tailwind CSS的构建逻辑,Rails资产预编译阶段会自动调用该命令完成样式构建

第三步:重新触发部署

修改配置后提交代码触发CodePipeline运行即可,若仍有报错可登录对应EC2实例查看/var/log/eb-activity.log获取完整报错信息。

内容的提问来源于stack exchange,提问作者Gerard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:09:02