Twilio CLIのバージョンを2.0.1に戻す方法

:::note alert
2023年5月1日を持ちまして、株式会社KDDIウェブコミュニケーションズのTwilioリセール事業が終了したため、本記事に記載されている内容は正確ではないことを予めご了承ください。
:::

# はじめに

みなさん、こんにちは。
KDDIウェブコミュニケーションズのTwilio事業部エバンジェリストの高橋です。

<font color='red'>本記事のある2.0.2の不具合については、2.1.0以降で解消しています。</font>

先日も記事を書きましたが、どうもTwilio CLI 2.0.2には不具合があるようで、Nodeのバージョンによってうまく動作しません。
[Twilio CLIでプロファイルの切り替えがエラーになる](https://qiita.com/mobilebiz/items/88f1d1a0cb94ef692d47)

色々調べてみましたが、どうもバージョン2.0.2から現象が出るようなので、安定するまではバージョンアップをせずに2.0.1で運用したほうがよいでしょう。
ただ、すでに2.0.2をbrewもしくはhomebrewでインストールしてしまった方は、以下の手順で2.0.1に戻せます。
今回はMacでの手順となります。

<font color='red'>作業はすべて自己責任でお願いいたします</font>

# 作業

`find`コマンドを使ってFormulaディレクトリを検索します。

```sh
% find /usr/local -name Formula | grep twilio
/usr/local/Homebrew/Library/Taps/twilio/homebrew-brew/Formula
```

見つかったディレクトリに移動し、バージョンを確認します。

```sh
% cd /usr/local/Homebrew/Library/Taps/twilio/homebrew-brew/Formula
% git log twilio.rb
commit 0ebea8348048fad58652e121ffc98c36e03c174e (HEAD -> master, tag: 2.0.2, origin/master, origin/HEAD)
Author: Twilio <twilio-ci@twilio.com>
Date:   Wed May 13 21:06:11 2020 +0000

    Release 2.0.2

commit 2db30c03f30fc9a47ffb27be1d855fac6423a234 (tag: 2.0.1)
Author: Twilio <twilio-ci@twilio.com>
Date:   Wed Apr 29 20:52:21 2020 +0000

    Release 2.0.1

・・・（以下省略）・・・
```

最新バージョンが`2.0.2`で、その前のバージョンが`2.0.1`になります。
`2.0.1`のcommitにかかれているハッシュを使って、バージョンを戻します。

```sh
% git checkout 2db30c03f30fc9a47ffb27be1d855fac6423a234 twilio.rb
Updated 1 path from 2de93bf
```

既存の環境ファイルを移動しておきます。

```sh
% cd
% mv .twilio-cli .twilio-cli-backup
```

バージョン`2.0.2`を一旦削除します。

```sh
% brew uninstall twilio
```

再度、インストールします。

```sh
% brew install twilio
==> Installing twilio from twilio/brew
==> Downloading https://twilio-cli-prod.s3.amazonaws.com/twilio-v2.0.1/twilio-v2.0.1.tar.gz
・・・（省略）・・・
```

新しくできた環境ファイルを削除し、先程バックアップしておいたファイルを戻します。

```sh
% rm -Rf .twilio-cli
% mv .twilio-cli-backup .twilio-cli
```

バージョンを確認します。

```sh
% twilio
 ›   Warning: twilio-cli update available from 2.0.1 to 2.0.2.
unleash the power of Twilio from your command prompt

VERSION
  twilio-cli/2.0.1 darwin-x64 node-v12.8.0
・・・（省略）・・・
```

## 最新版に戻したい場合

最新版をチェックアウトします。

```sh
% cd /usr/local/Homebrew/Library/Taps/twilio/homebrew-brew/Formula
% git checkout HEAD -- twilio.rb
```

最新版にアップグレードします。

```sh
% cd
% brew upgrade twilio
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
weaver

==> Upgrading 1 outdated package:
twilio/brew/twilio 2.0.1 -> 2.0.2
==> Upgrading twilio/brew/twilio 2.0.1 -> 2.0.2
・・・（省略）・・・
🍺  /usr/local/Cellar/twilio/2.0.2: 9,404 files, 42.4MB, built in 21 seconds
Removing: /usr/local/Cellar/twilio/2.0.1... (9,393 files, 41.3MB)
Removing: /Users/katsumi/Library/Caches/Homebrew/twilio--2.0.1.tar.gz... (7.6MB)
==> Checking for dependents of upgraded formulae...
==> No dependents found!
```

# まとめ

`brew`でインストールしたアプリのバージョンダウンが意外と面倒でした。
今回は、以下の記事を参考にさせていただきました。
どうもありがとうございました。
[Homebrewで旧バージョンをインストールする方法(brew versionsはもう使えない)](https://qiita.com/honeniq/items/778cc08d2db78e6774d8)

---
### Twilio（トゥイリオ）とは

https://cloudapi.kddi-web.com
Twilioは音声通話、メッセージング（SMS/チャット）、ビデオなどの 様々なコミュニケーション手段をアプリケーションやビジネスへ容易に組み込むことのできるクラウドAPIサービスです。初期費用不要な従量課金制で、各種開発言語に対応しているため、多くのハッカソンイベントやスタートアップなどにも、ご利用いただいております。