Команда psql не найдена
Я использую Mac OS X 10.5.8. Я установил Postgresql 9.1 с помощью macports, который установил его в /opt/local/lib/postgresql91
и создал bin
папка с psql
и другие исполняемые файлы Unix.
Насколько я понимаю, это суть программы postgresql (я говорю это потому, что другие файлы postgresql были установлены в других частях моей системы, и я не уверен, для чего они нужны).
Я отредактировал мой .profile
включить путь к postgresql91/bin
и побежал источник~/.profile
,
echo $PATH
подтверждает, что путь есть. Но когда я печатаю psql
в командной строке я получаю "command not found"
,
Я не понимаю, что еще я должен был сделать.
1 ответ
Apple внесла несколько изменений в оболочку по умолчанию. Основная ошибка, представленная в этом вопросе, - команда не найдена . Я подскажу, как решить этот вопрос.
Во-первых, давайте найдем, где у нас установлен Postgresql:
find / -type f -name psql -print | sort
Это находит все файлы с именемpsql
в вашей системе. Это должно сообщать только об одной записи. Обратите внимание, что может быть представлено много ошибок (например , find: /private/var/agentx: Отказано в доступе ). Вы можете смело игнорировать их.
Для вашей системы бинарный файл находился здесь:/opt/local/lib/postgresql91/bin/psql
Я использую доморощенный, поэтому мой находится здесь:/opt/homebrew/bin/psql
Снимите psql с конца. Это каталог. Мы будем использовать его ниже.
Откройте Terminal.app, который часто находится в каталоге Utilities ваших приложений.
Запустите эту команду:
open -e .profile ; open -e .cshrc ; open -e .zshrc; open -e .login; open -e .bash_profile
Игнорируйте любые ошибки, такие как:
The file /Users/risner/.zshrc does not exist.
The file /Users/risner/.login does not exist.
В открытых файлах вы можете увидеть такие строки, как «set path =» для .cshrc или .login и «PATH=» для других.
Добавьте путь к каталогу сверху во все строки пути, добавив путь к каталогу/opt/local/lib/postgresql91/bin/
. Например, с .cshrc или .login, где они разделены пробелами, которые вы меняете:
set path = ($HOME/bin /bin /sbin /usr/bin /usr/sbin /usr/X11R6/bin)
к этому:
установить путь = ($HOME/bin/bin/sbin/usr/bin/usr/sbin/usr/X11R6/bin/opt/local/lib/postgresql91/bin)
Для других, где они разделены :, измените:
export PATH="~/bin:$PATH"
к
export PATH="~/bin:/opt/local/lib/postgresql91/bin:$PATH"