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

在EC2上安装CodeDeploy Agent时遭遇Ruby类型错误求助

在EC2实例安装CodeDeploy Agent时触发Ruby类型错误

操作流程

我在EC2实例上安装CodeDeploy Agent时执行了以下命令:

sudo yum -y update
sudo yum -y install ruby
sudo yum -y install wget
cd /home/ec2-user
wget https://aws-codedeploy-us-east-1.s3.amazonaws.com/latest/install
sudo chmod +x ./install
sudo ./install auto

环境说明

  • install文件已成功下载
  • Ruby版本为3.2.1:
ruby --version => ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux]
  • 分别以root和ec2-user身份尝试安装,问题未解决
  • 未运行任何自定义Ruby代码

错误日志

执行sudo ./install auto时出现如下报错:

/usr/share/ruby3.2/logger/log_device.rb:83:in `exist?': no implicit conversion of Array into String (TypeError)
          if File.exist?(path)
                         ^^^^
    from /usr/share/ruby3.2/logger/log_device.rb:83:in `set_dev'
    from /usr/share/ruby3.2/logger/log_device.rb:18:in `initialize'
    from /usr/share/ruby3.2/logger.rb:587:in `new'
    from /usr/share/ruby3.2/logger.rb:587:in `initialize'
    from ./install:43:in `new'
    from ./install:43:in `<main>'

解决步骤

这个错误是Ruby 3.2与CodeDeploy官方安装脚本不兼容导致的,推荐通过降级Ruby版本解决:

  1. 卸载当前Ruby 3.2:
sudo yum remove -y ruby ruby-devel
  1. 安装兼容的Ruby 2.7版本:
sudo amazon-linux-extras install ruby2.7 -y
  1. 确认Ruby版本:
ruby --version
  1. 回到install文件所在目录,重新执行安装命令:
cd /home/ec2-user
sudo ./install auto

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 11:35:10