bin
我在 OSX 中安装了 XAMPP,默认情况下它将自己的目录(充满各种实用程序)的路径添加到我的$PATH
变量中:
# Add path to XAMPP PHP version
export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"
不幸的是,它的实用程序之一称为HEAD
,这要归功于 OSX 不区分大小写的文件系统,与 Unixhead
命令冲突。 XAMPPHEAD
完全无关head
(我认为它发出 HTTP HEAD 请求)。
当然,我想同时使用head
和XAMPP,所以我简单地改变了路径变量顺序:
export PATH="$PATH:$XAMPP_PHP"
这让我可以使用head
,但现在 XAMPP 的 PHP 版本(例如 5.5)与 OSX 附带的预安装 PHP 版本(5.3)之间存在冲突。由于通向 5.3 的路径首先出现,因此它最终会优先。
我的黑客解决方案的计划是预先添加完整的文件路径+名称只是 XAMPP 的 PHP 版本,然后在 后面附加路径的其余部分$PATH
:
export PATH="/Applications/XAMPP/xamppfiles/bin/php:$PATH:$XAMPP_PHP"
这似乎不起作用。当我重新启动 bash 并检查 时php -v
,它仍然是 PHP 5.3 - 内置版本。甚至可以添加特定的文件路径吗$PATH
?
答案1
假设它echo "$PATH"
显示/usr/local/bin
在您的路径中,并且这是您的个人笔记本电脑:
创建一个/usr/local/bin
指向您想要的可执行文件的符号链接。
ln -s /Applications/XAMPP/xamppfiles/bin/php /usr/local/bin/php
如果它是共享计算机并且您不想影响其他用户,我建议在~/.bash_profile
.我自己也有一个:
$ grep PATH ~/.bash_profile
export PATH="$PATH:$HOME/.bin"
然后我可以放入自定义符号链接、脚本等~/.bin
,它们将按预期运行(不会覆盖路径中较早存在的系统命令)。
我将 放在.
开头,.bin
这样在 Finder 中浏览时就不必看到该目录。