InfraAcademy

InfraAcademy Blog

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

| #Linux #Linux初心者

こんにちは、

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

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

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に関する記事を発信しているので興味のある方は引き続きごらんください。

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る