3 回答
TA贡献1816条经验 获得超6个赞
在/Users/David示例的主文件夹中,您可以创建一个.bash_profile。在这里,您可以导出变量,然后将其添加到路径中。
打开文件以在您喜欢的编辑器中对其进行编辑,我使用vim。
然后您可以添加路径
export MAMP_PHP=/Applications/MAMP/bin/php/php5.3.6/bin
export PATH="$MAMP_PHP:$PATH"
您需要先行一步,$PATH因为它已经包含/usr/bin了PHP系统所在的位置。因此,系统始终会首先找到您的MAMP版本。
保存此文件,然后重新启动终端,您会看到应该获得MAMP版本。
要进行测试,我将php -vOSX Lion用作5.3.10,而我的MAMP使用5.3.6,
您也可以进行测试,使用which php它将输出当前php可执行文件的路径。
TA贡献1804条经验 获得超3个赞
先前接受的答案是指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
我使用函数而不是别名,因为别名不会传递给子进程,或者至少不会传递给Shell脚本。我发现的唯一缺点是运行which mysql并且which mysqladmin将不再返回任何东西,这真是令人讨厌。如果要检查使用的是哪个mysql,并确保所有功能都是copacetic的,请mysql --version改用。
注意:@julianromera指出zsh不支持导出功能,因此在这种情况下,最好使用别名,如alias mysql='/Applications/MAMP/Library/bin/mysql'。请注意,您的别名可能无法从子Shell中使用(例如执行Shell脚本时)。
- 3 回答
- 0 关注
- 497 浏览
添加回答
举报