以前接受的答案是指php 5.3.6,而当前版本的MAMP附带5.6.2作为默认值(截至2015-05-01),指出这不是一个非常可持续的解决方案。您可以通过向.bash_profile添加额外的行来自动更新路径,以从/ Applications / MAMP / bin / php /获取最新版本的PHP,并将其导出到您的路径。这是我怎么做:
# Use MAMP version of PHP
PHP_VERSION=`ls /Applications/MAMP/bin/php/ | sort -n | tail -1`
export PATH=/Applications/MAMP/bin/php/${PHP_VERSION}/bin:$PATH
(在进行更改后使用源〜/ .bash_profile,以确保它们生效。)
正如其他人提到的,您可能还想修改您的shell以使用MAMP的mysql可执行文件,它位于/ Applications / MAMP / Library / bin。但是,我不建议导出该文件夹,因为有一堆其他可执行文件,如libtool,你可能不想优先考虑您的系统安装的版本。这个问题阻止我最近安装一个节点包(libxmljs),如记录here。
我的解决方案是定义和导出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
我使用函数而不是别名,因为别名不会传递给子进程,或者至少不是在shell脚本的上下文中。我发现唯一的缺点是运行哪个mysql和哪个mysqladmin将不再返回任何东西,这是一个bum。。如果你想检查使用哪个mysql并确保一切都是copacetic,请使用mysql –version。
注意:@julianromera指出zsh不支持导出函数,所以在这种情况下,最好使用别名,如别名mysql =’/ Applications / MAMP / Library / bin / mysql’。只需要注意,你的别名可能不会从subshells(像执行shell脚本)。