Я считаю, что ответ ясен, когда вы посмотрите на логический порядок того, что вы установили в .bash_profile
(который не работает) по сравнению с .profile
(который работает).
Вот ваш .bash_profile
:
export PATH="$PATH:/Users/[username]/bin:/Applications/MAMP/bin/php/php5.5.14/bin:/Applications/MAMP/bin/mysql"
А вот и твой .profile
:
export MAMP_PHP=/Applications/MAMP/bin/php/php5.5.14/bin
export PATH="$MAMP_PHP:$PATH"
Ключ к решению этой проблемы - посмотреть, где вы устанавливаете новые элементы, связанные с MAMP, по сравнению со стандартным $PATH
; Порядок считается, потому что оболочка будет действовать (ключевая вещь) первым элементом, который она найдет в своем списке путей поиска пользователя.
Зная, что вы можете разбить поведение, которое вы видите, вот так:
- В версии
.profile
вы устанавливаете $MAMP_PHP
как переменную и затем добавляете ее к началу $PATH
.
- Но в версии
.bash_profile
вы добавляете этот материал после $PATH
:/Applications/MAMP/bin/php/php5.5.14/bin:/Applications/MAMP/bin/mysql
Поэтому я бы переделал .bash_profile
вот так, чтобы он заработал:
export MAMP_PHP=/Applications/MAMP/bin/php/php5.5.14/bin
export PATH="$MAMP_PHP:$PATH:/Users/[username]/bin"
Обратите внимание, как я использую соглашение $MAMP_PHP
из .profile
что является хорошим способом логически разделить пути для человеческих глаз, и как я просто устанавливаю это значение в /Applications/MAMP/bin/php/php5.5.14/bin
так как я понятия не имею, когда будет использоваться этот путь MySQL: /Applications/MAMP/bin/mysql
.
С моей точки зрения, используя MAMP версии 2.1.3, я не вижу фактического двоичного файла mysql
в указанном вами пути. Традиционно это будет в /Applications/MAMP/Library/bin/
вместе с другими двоичными файлами MAMP. Поэтому, возможно, ваш .bash_profile
должен быть настроен так:
export MAMP_BIN=/Applications/MAMP/Library/bin
export MAMP_PHP=/Applications/MAMP/bin/php/php5.5.14/bin
export PATH="$MAMP_BIN:$MAMP_PHP:$PATH:/Users/[username]/bin"
Кроме того, то, что /Users/[username]/bin
кажется клёвым и слишком специфичным для меня. Если вы поддерживаете директорию пользователя, специфичную для ~/bin
вы можете просто установить ~/bin
следующим образом:
export MAMP_BIN=/Applications/MAMP/Library/bin
export MAMP_PHP=/Applications/MAMP/bin/php/php5.5.14/bin
export PATH="$MAMP_BIN:$MAMP_PHP:$PATH":~/bin
Обратите внимание, что вокруг последней части "
нет двойных кавычек (:~/bin
), что позволяет ~/
правильно расширяться до домашнего каталога вашего пользователя. Таким образом, вы можете использовать чистую настройку .bash_profile
, например, для любой учетной записи, где у пользователя есть каталог ~/bin
.