amazon-web-services -/usr/bin/env : 'ruby' : No such file or directory userdata in codedeploy ubuntu

标签 amazon-web-services aws-cloudformation ubuntu-14.04 aws-code-deploy

我尝试使用 Cloudformation 在 Ubuntu 14.04 中的 UserData 中安装 CodeDeploy Agent,如下所示:

#!/bin/bash
sudo apt-get update
sudo apt-get install ruby
sudo apt-get install wget
cd /home/ubuntu
wget https://aws-codedeploy-eu-central-1.s3.amazonaws.com/latest/install
sudo chmod +x ./install
sudo ./install auto
sudo service codedeploy-agent start

Cloudformation 成功后,当我在终端中使用 CodeDeploy Agent 时,发现以下消息:

ubuntu@ip-xxx-xxx-xxx-xxx:~$ sudo service codedeploy-agent status
● codedeploy-agent.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

所以,我尝试从以下位置开始手动安装

ubuntu@ip-xxx-xxx-xxx-xxx:~$ sudo ./install auto
/usr/bin/env: 'ruby': No such file or directory

找到了那个。 但是当我在用户数据中手动安装这些脚本时,它运行得很好。请告诉我缺少哪一个。

最佳答案

问题是基本的 Amazon Linux 镜像未安装 Ruby。

对我有用的解决方案是使用适用于您的 Linux 发行版的包管理器(例如 yum)在我的 EC2 实例上手动下载并安装 Ruby

对于本次运行: sudo yum install -y ruby​​

运行上述命令后,您将看到所有 Ruby 安装过程的提示。 一旦完成,您可以继续安装 Codedeploy,运行:

wget https://aws-codedeploy-us-west-2.s3.us-west-2.amazonaws.com/latest/install

chmod +x ./install

sudo ./install auto

您应该会看到 Codedeploy 下载和安装提示。

就是这样,现在通过运行确认 Codeploy 正在工作

sudo service codedeploy-agent status

关于amazon-web-services -/usr/bin/env : 'ruby' : No such file or directory userdata in codedeploy ubuntu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56723528/

相关文章:

java - AWS实例访问错误:事务请求服务器关闭事务之前的连接

amazon-web-services - aws cloudformation Elasticsearch 堆栈

azure - 适用于任何基于 IaaS 的云的与云无关的工具

c++ - kdbg 继续调试键盘快捷键

c++ - 将 CMake 与 galternatives 一起使用的指针?

php - 连接到 Amazon AWS RDS 上的 MySQL

amazon-web-services - AWS Cloudformation - 在 YAML 文件中导入 Jinja 定义的变量

amazon-web-services - aws cloudformation 包 cli 如何获取上次运行的 MD5 校验和?

c - O_RDWR 终端未声明

javascript - 在 apache 或 aws 上使用 docker 部署 React 构建