背景
az login が、なぜか突然、全然できなくなった。azure-cli を再インストールしても状況変わらず。困った。。
The command failed with an unexpected error. Here is the traceback:
Extra data: line 14 column 2 (char 2297)
Traceback (most recent call last):
File "/usr/local/Cellar/azure-cli/2.30.0_1/libexec/lib/python3.10/site-packages/knack/cli.py", line 231, in invoke
cmd_result = self.invocation.execute(args)
...
File "/usr/local/Cellar/python@3.10/3.10.0_2/Frameworks/Python.framework/Versions/3.10/lib/python3.10/json/decoder.py", line 340, in decode
raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 14 column 2 (char 2297)
環境
- Mac 11.6 Big Sur
- brew でインストールした azure-cli 2.30
- python3.10 (これは azure-cli が依存モジュールとして勝手にインストール)
調査
- サービスプリンシパルを使って az login しても同じ状況なので、アカウントに依らない。
- brew で azure-cli を アンインストール/インストールしても直らず
- 数日前まで動いていた
対応
仕方ないので、azure-cli を過去バージョンに戻す。
brew でインストールするモジュールの、過去バージョンのインストール
- brew の Formula は git で管理されてるので、checkout すれば任意のバージョンが使える
- azure-cli の Formula は azure-cli.rb
手順
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
git log azure-cli.rb
ここで、過去に動作していたと思われる適当なハッシュを見つける
brew uninstall azure-cli
git checkout <ハッシュ> azure-cli.rb
brew install azure-cli
結果
- brew の Formula を昔のバージョン 2.28.1 (10/10版) に戻して再インストールしたところ、無事、ログインできるようになった。
- python 3.10 を使うように変わってから、おかしくなってる?
- 今回、正しく動作したハッシュは
45e942de0c390ccc05cca62755590a992eb5e419