CodeDeploy AgentをRuby2.6を使ってインストールする

2020.03.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はい、どーも!CX事業本部の吉田です。

今回はCodeDeploy Agentを、Ruby2.6を使ってインストールする方法をまとめました。

Ruby2.6はサポートされていない

CodeDeploy Agentのインストール方法はこちらにまとめられています。

Ruby2.6がインストールされた環境で、これに従って sudo ./install auto と実行すると、以下のようなメッセージが表示され、インストールに失敗します。

Current running Ruby version for ec2-user is 2.6.0, but Ruby version 2.x needs to be installed.

これは現在CodeDeploy AgentのインストーラーがRuby2.5までにしか対応していないために、このようなメッセージが表示されます。

ワークアラウンド

ではRuby2.6ではインストールできないのかな?と思ったのですが、さきほどのメッセージをよく見るとヒントがありました。

If you already have the proper Ruby version installed, please either create a symlink to /usr/bin/ruby2.x, or run this install script with right interpreter. Otherwise please install Ruby 2.x for ec2-user user.

つまり現在インストールされているrubyコマンドに、/usr/bin/ruby2.x というシンボリックリンクを作れば、インストールできそうな気がします。 念の為、インストーラのコードを確認します。こちらの103行目~110行目あたりですね。

現在のrubyコマンドは /usr/bin/ruby にあるようなので、シンボリックリンクを以下のように作成しました。

ln -s /usr/bin/ruby /usr/bin/ruby2.5

これで再度インストーラを起動すれば、正しくインストールできます。

せっかくなのでプルリクエストしておく

インストールのコードを見た感じだと、とくにRuby2.6では動かないようなところもなさそうだったので、修正してプルリクを出しておきました。

既にissueは上がっているようですので、マージされるといいですね。