Ubuntu 20.0LTS 上的 AWS CodeDeploy-Agent,Ruby 错误
AWS CodeDeploy-Agenten on Ubuntu 20.0LTS, Ruby errors
我在尝试通过以下方式安装 AWS 代码部署代理时遇到了一些错误:
wget https://bucket-name.s3.region-identifier.amazonaws.com/latest/install
./install auto
我知道 AWS 文档说的是 16.04 或 18.04。但是想知道我是不是第一个尝试过的人。
Traceback (most recent call last):
8: from ./install:33:in `<main>'
7: from ./install:33:in `new'
6: from /usr/lib/ruby/2.7.0/logger.rb:389:in `initialize'
5: from /usr/lib/ruby/2.7.0/logger.rb:389:in `new'
4: from /usr/lib/ruby/2.7.0/logger/log_device.rb:18:in `initialize'
3: from /usr/lib/ruby/2.7.0/logger/log_device.rb:83:in `set_dev'
2: from ./install:21:in `method_missing'
1: from ./install:21:in `map'
./install:22:in `block in method_missing': undefined method `path' for #<IO:<STDOUT>> (NoMethodError)
如果有人能给点小费就好了。
最好,谢谢
显然 CodeDeploy 尚不兼容 Ubuntu 20.04,因为后者随 ruby 2.7 一起提供,而 CodeDeploy 最多支持 2.5。有一个解决方案here重新打包deb包以强制检查通过:
sudo su
apt-get update
apt-get install -y ruby
wget https://aws-codedeploy-us-east-1.s3.amazonaws.com/releases/codedeploy-agent_1.0-1.1597_all.deb
mkdir codedeploy-agent_1.0-1.1597_ubuntu20
dpkg-deb -R codedeploy-agent_1.0-1.1597_all.deb codedeploy-agent_1.0-1.1597_ubuntu20
sed 's/2.0/2.7/' -i ./codedeploy-agent_1.0-1.1597_ubuntu20/DEBIAN/control
dpkg-deb -b codedeploy-agent_1.0-1.1597_ubuntu20
dpkg -i codedeploy-agent_1.0-1.1597_ubuntu20.deb
systemctl start codedeploy-agent
systemctl enable codedeploy-agent
要在 Ubuntu 20.04 上安装最新版本的 CodeDeploy 代理:
sudo ./install auto > /tmp/logfile
注意:将输出写入临时日志文件是一种解决方法,当 AWS 在 Ubuntu 20.04.
上解决安装脚本的已知错误时,应该使用该方法
我在尝试通过以下方式安装 AWS 代码部署代理时遇到了一些错误:
wget https://bucket-name.s3.region-identifier.amazonaws.com/latest/install
./install auto
我知道 AWS 文档说的是 16.04 或 18.04。但是想知道我是不是第一个尝试过的人。
Traceback (most recent call last):
8: from ./install:33:in `<main>'
7: from ./install:33:in `new'
6: from /usr/lib/ruby/2.7.0/logger.rb:389:in `initialize'
5: from /usr/lib/ruby/2.7.0/logger.rb:389:in `new'
4: from /usr/lib/ruby/2.7.0/logger/log_device.rb:18:in `initialize'
3: from /usr/lib/ruby/2.7.0/logger/log_device.rb:83:in `set_dev'
2: from ./install:21:in `method_missing'
1: from ./install:21:in `map'
./install:22:in `block in method_missing': undefined method `path' for #<IO:<STDOUT>> (NoMethodError)
如果有人能给点小费就好了。
最好,谢谢
显然 CodeDeploy 尚不兼容 Ubuntu 20.04,因为后者随 ruby 2.7 一起提供,而 CodeDeploy 最多支持 2.5。有一个解决方案here重新打包deb包以强制检查通过:
sudo su
apt-get update
apt-get install -y ruby
wget https://aws-codedeploy-us-east-1.s3.amazonaws.com/releases/codedeploy-agent_1.0-1.1597_all.deb
mkdir codedeploy-agent_1.0-1.1597_ubuntu20
dpkg-deb -R codedeploy-agent_1.0-1.1597_all.deb codedeploy-agent_1.0-1.1597_ubuntu20
sed 's/2.0/2.7/' -i ./codedeploy-agent_1.0-1.1597_ubuntu20/DEBIAN/control
dpkg-deb -b codedeploy-agent_1.0-1.1597_ubuntu20
dpkg -i codedeploy-agent_1.0-1.1597_ubuntu20.deb
systemctl start codedeploy-agent
systemctl enable codedeploy-agent
要在 Ubuntu 20.04 上安装最新版本的 CodeDeploy 代理:
sudo ./install auto > /tmp/logfile
注意:将输出写入临时日志文件是一种解决方法,当 AWS 在 Ubuntu 20.04.
上解决安装脚本的已知错误时,应该使用该方法