こんにちは、
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
パッケージ管理については、こちらで詳しく解説しています。
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に関する記事を発信しているので興味のある方は引き続きごらんください。