Команда 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"
Другие вопросы по тегам