Linux

bash: vi: command not foundというエラーが出た場合の対処方法【viを使えるようにするには?】

こんにちは、

InfraAcademyというインフラ学習サービスを運営しております、ryuと申します。

今回の記事では、bash: vi: command not foundというエラーが出た場合の対処方法について解説します。このエラーは、viコマンドが見つからないというエラーです。解決するためには、viコマンドをインストールすれば良いのです!

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

bash: vi: command not foundというエラーが出た場合の対処方法

viコマンドを実行した際に、bash: vi: command not foundというエラーが出ることはありませんか?

このエラーの対処方法について解説したいとおもいます。

bash: vi: command not foundとはどのような意味?

「bash: vi: command not found」を日本語に訳すと、viコマンドが見つかりませんという意味になります。

つまり、viコマンドを動かすための必要なプログラムが無いということです。Linuxでは、パッケージとしてさまざまなコマンドやソフトウェアを提供しております。デフォルトでコマンドが使えない場合は、パッケージをインストールする必要があります。

viコマンドのインストール

viコマンドのインストールはLinuxのディストリビューションやOSによって異なります。

Debian系のディストリビューションでは、aptパッケージマネージャーを使用してvimをインストールします。

sudo apt update
sudo apt install vim

Red Hat系のディストリビューションでは、dnfまたはyumパッケージマネージャーを使用してvimをインストールします。

sudo dnf install vim
もしくは
sudo yum install vim

MacOSでは、Homebrewパッケージマネージャーを使用してvimをインストールします。

brew install vim

パッケージ管理については、こちらで詳しく解説しています。

・【Linux中級講座】パッケージ管理

viコマンドが使えるかどうかの確認

viコマンドのインストールが完了したら、viコマンドが使えるかどうか確認してみましょう。

vi --version

コマンドを実行すると、viのバージョン情報が表示されます。

これで、viコマンドが使えることがわかります。bash: vi: command not foundというエラーは解消されたはずです。

Dockerによくあるエラー

bash: vi: command not foundはDockerによくあるエラーです。

Dockerコンテナには、デフォルトでviコマンドが入っていないからです。しかし、毎度viコマンドをインストールするのは面倒です。

そのような場合は、Dockerfileでviコマンドをインストールするようにしましょう。以下はubuntuのイメージににvimをインストールする例です。

# ベースイメージとしてUbuntuを使用
FROM ubuntu:latest

# パッケージリストを更新し、vimをインストール
RUN apt-get update && \
    apt-get install -y vim && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# デフォルトのコマンドを設定
CMD ["bash"]

上記のファイル内の、apt-get install -yの-yオプションは、コマンド実行中に現れるすべてのプロンプトに対して自動的に「yes」と応答するためのものです。

apt-get installコマンドを実行すると、インストールの確認を求めるプロンプトが表示されます。

このオプションを使用することで、ユーザーが手動で応答することなく、スクリプトや自動化されたプロセスでパッケージをインストールすることができます。

このようにDockerfile内でviコマンドをインストールしておくと、vi: command not foundが毎回出なくなります。

まとめ

今回の記事では、bash: vi: command not foundというエラーが出た場合の対処方法について解説しました。

viコマンドをインストールすれば、すぐに解消されるエラーなので覚えておきましょう。viコマンドに限らず、コマンドがない場合は、”command not found”というエラーがでます。そのような場合は、コマンドをインストールすれば解消されます。

当ブログでは、このようなITに関する記事を発信しているので興味のある方は引き続きごらんください。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST