Назад | Перейти на главную страницу

Не удается найти двоичный файл, но путь включен в $ PATH

Итак, я попытался установить Mercurial на Ubuntu 10.04. Сначала я использовал репо ppa, но получил pythonpath ошибка, от которой я отказался. Следующей попыткой была установка из исходников, все прошло хорошо, за исключением того, что не удалось найти hg:

$ hg
-bash: /usr/bin/hg: No such file or directory

Однако hg устанавливается в / usr / local / bin /:

$ which hg
/usr/local/bin/hg

PATH включает этот каталог, так почему не найден hg?

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Если я выполню hg с полным путем, он будет работать:

$ /usr/local/bin/hg --version

Любая помощь очень ценится!

Bash поддерживает кеш расположения исполняемых файлов в $PATH. У вас hg в /usr/bin в какой-то момент и запустил его из этой оболочки. Теперь вы удалили /usr/bin/hg. Вам нужно указать запущенной оболочке, чтобы она забыла это местоположение:

hash hg

Новая оболочка не будет иметь этой проблемы, поскольку кеш не используется совместно между экземплярами оболочки.