25
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

パッケージ更新インストール後にコマンドが実行できない場合の対処

Last updated at Posted at 2015-12-31

新規インストール時と更新インストール時でインストール先が異なる場合、更新インストール完了後にコマンドが実行できなくなることがある。
新規インストールと更新インストール時でインストール方法が異なる場合等に発生する可能性がある。

例: pip

pip を更新した後、↓のようなエラーが発生するになった。

# pip
-bash: /usr/bin/pip: そのようなファイルやディレクトリはありません

やったこと

  • 環境: debian
  • インストール方法:
    • 新規インストール時: aptpython-pip パッケージからインストール
    • 更新インストール時: pip install pip --update で pipを更新インストールした

原因

コマンドパスのハッシュが更新後のパスを追随できていない。

詳細

更新後も pip のファイル自体は存在する。

# type -a pip
pip は /usr/local/bin/pip です

pipコマンドを実行するとどこを見るようになっているかは、
typeコマンドをオプション無しで実行すればわかる。

# type pip
pip はハッシュされています (/usr/bin/pip)

更新後には存在しない(削除してしまった)、更新前の参照先を見ている。

# ls -l /usr/bin/pip
ls: /usr/bin/pip にアクセスできません: そのようなファイルやディレクトリはありません

対策

コマンドパスのハッシュを更新する。
そのために、以下のコマンドを実行する。

# hash -r
# 
# pip --version
pip 7.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)

直った。

25
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?