Тот факт, что ранее принятый ответ относится к php 5.3.6, в то время как текущая версия MAMP поставляется с 7.2.1 по умолчанию (по состоянию на начало 2018 года), указывает на то, что это не очень устойчивое решение. Вы можете автоматически обновить путь, добавив дополнительную строку в .bash_profile
, чтобы получить последнюю версию PHP из /Applications/MAMP/bin/php/
и экспортировать ее по своему пути. Вот как я это делаю:
# Use MAMP version of PHP
PHP_VERSION=`command ls /Applications/MAMP/bin/php/ | sort -n | tail -1`
export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH
(используйте source ~/.bash_profile
после внесения изменений, чтобы убедиться, что они вступают в силу.)
Как уже упоминалось, вы, вероятно, также захотите изменить свою оболочку для использования исполняемого файла MAMP mysql, который находится в /Applications/MAMP/Library/bin
. Однако я не рекомендую экспортировать эту папку, потому что там есть куча других исполняемых файлов, таких как libtool
, которым вы, вероятно, не хотите отдавать приоритет над версиями, установленными в вашей системе. Эта проблема помешала мне недавно установить пакет узла (libxmljs), как описано здесь .
Моим решением было определить и экспортировать mysql
и mysqladmin
в виде функций:
# Export MAMP MySQL executables as functions
# Makes them usable from within shell scripts (unlike an alias)
mysql() {
/Applications/MAMP/Library/bin/mysql "$@"
}
mysqladmin() {
/Applications/MAMP/Library/bin/mysqladmin "$@"
}
export -f mysql
export -f mysqladmin
Я использовал функции вместо псевдонимов, потому что псевдонимы не передаются дочерним процессам или, по крайней мере, в контексте сценария оболочки. Единственный недостаток, который я обнаружил, заключается в том, что выполнение which mysql
и which mysqladmin
больше не даст ничего, что является обломом. Если вы хотите проверить, какой mysql используется, и убедиться, что все работает по-другому, используйте mysql --version
.
Примечание: @julianromera указывает, что zsh не поддерживает экспортные функции, поэтому в этом случае лучше использовать псевдоним, например alias mysql='/Applications/MAMP/Library/bin/mysql'
. Просто помните, что ваши псевдонимы могут быть недоступны из подоболочек (например, при выполнении сценария оболочки).