У меня XAMPP установлен в OSX, и по умолчанию он добавляет путь к своему собственному bin
каталогу (полному различных утилит) к моей $PATH
переменной:
# Add path to XAMPP PHP version
export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"
Скорее , к сожалению, одна из его утилита называется HEAD
, что благодаря регистронезависимой файловой системе OSX, в наталкивается с Unix head
командой . XAMPP HEAD
совершенно не связан с head
(я думаю, что он выдает запрос HTTP HEAD).
Конечно, я хочу использовать head
и XAMPP, и я просто изменил порядок переменных пути:
export PATH="$PATH:$XAMPP_PHP"
Это позволяет мне использовать head
, но теперь существует конфликт между версией PHP для XAMPP (например, 5.5) и предустановленной версией PHP, которая поставляется с OSX (5.3). Поскольку путь к 5.3 идет первым, он в конечном итоге имеет приоритет.
Мой план для хакерского решения состоял в том, чтобы добавить полный путь к файлу + имя только версии PHP для XAMPP , а затем добавить остальную часть пути после $PATH
:
export PATH="/Applications/XAMPP/xamppfiles/bin/php:$PATH:$XAMPP_PHP"
Это не похоже на работу. Когда я перезапускаю bash и проверяю php -v
, он все еще работает на PHP 5.3 - встроенной версии. Можно ли вообще добавить определенный путь к файлу $PATH
?
$PATH
может состоять только из каталогов. Вы можете просто поставить ссылку на нужный исполняемый файл в существующий каталог в вашем$PATH
.Ответы:
Предполагая, что это
echo "$PATH"
отображается/usr/local/bin
на вашем пути, и учитывая, что это ваш личный ноутбук:Создайте символическую ссылку
/usr/local/bin
, указывающую на нужный вам исполняемый файл.Если это общий компьютер, и вы не хотите влиять на других пользователей, я рекомендую настроить собственное расширение для вашей переменной PATH в
~/.bash_profile
. У меня есть один сам:Затем я могу вставить свои пользовательские символические ссылки, сценарии и т. Д.,
~/.bin
И они будут работать как положено (без переопределения системных команд, которые ранее существовали в моем PATH).Я поставил
.
в начале,.bin
чтобы мне не нужно было видеть каталог при просмотре в Finder.источник