1. BAT : A cat clone
batコマンドはcatコマンドを高機能にしたようなものだと私は認識しています。
@github.com
fzfやripgrepをインストールするときにpreviewツールとしてbatがおすすめされています。
fzf, ripgrep, batをセットとして私の環境に導入することにしています。
batをUbuntuにインストールするときに少しだけ戸惑ったので苦労した内容を共有します。
2. Ubuntu20.04にインストール時のERROR
ubuntu20.04にインストールしたときにエラーが発生しました。
terminal input
sudo apt-get install bat
terminal output
dpkg: error processing archive /tmp/apt-dpkg-install-o5RqQ7/12-bat_0.12.1-1build1_amd64.deb (--unpack):
trying to overwrite '/usr/.crates2.json', which is also in package ripgrep 11.0.2-1build1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Errors were encountered while processing:
/tmp/apt-dpkg-install-o5RqQ7/12-bat_0.12.1-1build1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
これはripgrepをインストールしているとbatインストール時に.crates2.jsonが上書きできないというエラーです。
batをインストールしてからripgrepをインストールしようとしても同様のエラーが発生します。
そしてこれはUbuntu20.04で発生するエラーです。Ubuntu22.04では改修済みのようでエラーは発生しません。
エラーの情報はこちらです。
3. Ubuntu22.04でインストールしてもコマンド名が異なる。
batは別のアプリと名前が重複しているようでUbuntuでaptを使用してインストール時にはbatcatというコマンド名に変わってしまっています。
terminal input 1
bat --version
termianl output 1
bash: bat: command not found
terminal input 2
batcat --version
termianl output 2
bat 0.12.1
aliesを設定する方法もあるようですがそれはそれで面倒です。
fzf, ripgre, batをセットで使用するのは定番のようですがインストールにここまで苦労するとは思いませんでした。
4. debファイルをダウンロードしてインストールする
解決方法としてdebファイルをダウンロードしてインストールします。
terminal input
wget https://github.com/sharkdp/bat/releases/download/v0.20.0/bat_0.20.0_amd64.deb
apt install ./bat_0.20.0_amd64.deb
bat --version
termianl output
bat 0.20.0 (0655ecf)
エラーもなくbatをインストールすることができました。
5. まとめ
batのインストール方法を試して整理しました。
想像以上に苦労しました。環境設定は思わぬところで時間を取られるので沼です。
今回は以上です。