Я только что обновил macOS до Mojave, обновил brew и переустановил php (версия 7.3, все еще через brew).

Если я запускаю php я получаю

-bash: /usr/local/opt/php@7.2/bin/php: No such file or directory

Но если я сделаю which php я получу

/usr/bin/php

(что php -v сообщает как 7.1.23)

Не имеет смысла. Почему php вызывает другой путь, о which сообщается?
И как я могу заставить систему использовать последнюю версию, а не неправильную?

Я пытался brew unlink php && brew link php но когда я запускаю php он по-прежнему вызывает версию 7.2 вместо 7.3, которую я только что установил.

1 ответ1

0

В моем случае проблема была в том, что /usr/local/bin появился в переменной окружения PATH после /usr/bin (сообщил brew doctor).

Я исправил легко добавив

export PATH="/usr/local/bin:$PATH"

в .bash_profile (или .bashrc) в домашнем каталоге пользователя.

Решение не очень нравится, так как я хотел бы знать, почему /usr/bin стоит перед /usr/local/bin (который, как предполагается, в macOS дает возможность переопределить пути), во-первых.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .