19
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

aws-cli2系で発生した[Errno 2] No such file or directory: 'less': 'less'が意味不明だった

Posted at

環境

CircleCI2
aws-cli 2.0.30

ハマるまでの経緯

いろいろあってCircleCIのバージョン2を使ってデプロイスクリプトを書かなければならなくなりました。

今まではバージョン2.1でorbsというとっても便利なものを使っていたので、aws-cliのバージョンやaws-cliのコマンドそのものについて意識していませんでした。

で、awsコマンドで以下を実行しようとしたら、

aws ecs register-task-definition --family ${ENV_PREFIX}-app --cli-input-json file://app-task.json --region ap-northeast-1

[Errno 2] No such file or directory: 'less': 'less'

Exited with code exit status 255
CircleCI received exit code 255

No such file??? 思わずlessでファイル検索してgrepもしましたが何も引っかからず。
lessってあのlessか?と思って、

sudo apt-get install less

して同じコマンド叩くと、

{
タスク定義の中身
}
:

え、lessしてるwwwwwwww

いや草はやしとる場合やないやんけ。

原因と解決方法

まず解決方法から。
dockerのイメージ指定してるところで環境変数を設定してあげる。

docker:
      - image: circleci/python:2.7-jessie
        environment:
          AWS_PAGER: "" // 何も指定しないことが大事

原因はaws-cli2系の仕様で、1系の時は実行結果を出力しないのがデフォルトだったのが、2系になって実行結果が出力されるのがデフォルトになっていたため。

ただ、エラー文言が No such file or directory: 'less': 'less'なので、CLI2系に詳しくないと結構ハマるんじゃないかなと思います。 だって本来ならcommand not found出るのが正解じゃない????

orbsに甘えてたら1日はまったよ、という久しぶり投稿でした。

参考

公式
AWS_PAGER

参考リンク
AWS CLI v2 の実行結果を less, more で表示したくない場合

19
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?