https://docs.docker.com/compose/install/ の手順に従ってcurl
を使用してバイナリを直接ダウンロードし、Ubuntu 16.04マシンにdocker-compose
をインストールしました/usr/local/bin/
へ:
$ ls -lh /usr/local/bin/docker-compose
-rwxr-xr-x 1 root root 16M Jul 11 15:55 /usr/local/bin/docker-compose
/usr/local/bin/
は私のパスにあります:
$ echo $PATH
/home/me/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
実際には/usr/bin
の前にあることに注意してください。
そのバージョンを確認しようとすると、PATH関連のエラーのように見えます。
$ docker-compose --version
bash: /usr/bin/docker-compose: No such file or directory
実行可能ファイルのフルパスを指定することで、正しい動作が得られます。
$ /usr/local/bin/docker-compose --version
docker-composeバージョン1.24.0、ビルド0aa59064
またはSudo
を使用して、
$ Sudo docker-compose --version
docker-compose version 1.24.0, build 0aa59064
$ docker-compose --version
を実行できないのはなぜですか? /usr/bin
で実行可能ファイルを検索する必要があるのに、なぜBashは特に/usr/local/bin
について文句を言うのですか?
以前にapt
を介してdocker-compose
をインストールしたことは関係があるかもしれませんが、このパッケージを削除してパージしました。
問題は、以前のインストールからの既存のロケーションエントリであり、apt-get remove
およびapt-get purge
が削除またはパージしなかったようです。
hash docker-compose
はエントリを削除します。詳細については、こちらをご覧ください。
https://github.com/docker/compose/issues/3371#issuecomment-381162525https://unix.stackexchange.com/questions/82991/bash-is-not-プログラムを見つける-それでも私のパス上に-