Я использую Lion, а svn /usr/bin/svn версии 1.6. Поскольку мне нужно использовать Subversion 1.7, я установил svn из brew для установки в /usr/local/bin/svn.
Как я могу отключить файлы svn *, чтобы я мог использовать svn из brew?
Существует лучший и более безопасный способ указать, какую версию исполняемого файла вы хотите использовать на своем компьютере, не изменяя исполняемые файлы, предварительно установленные на вашем Mac. Как правило, не рекомендуется каким-либо образом изменять системные инструменты по умолчанию.
Вы можете воспользоваться переменной среды PATH , которая позволяет вам перечислить несколько каталогов, в которых вы хотите, чтобы ваш Mac выполнял поиск исполняемых файлов.
Чтобы использовать последнюю версию svn или любой другой инструмент, который вы установили /usr/local/bin
с помощью Homebrew (или MacPorts, вручную и т. д.), вы должны указать своему Mac сначала просмотреть /usr/local/bin
его, прежде чем он будет искать файл по умолчанию /usr/bin
. Вы делаете это, определяя PATH
в своем .bash_profile
файле , который загружается автоматически каждый раз, когда вы открываете новое окно терминала.
Вы можете записать PATH в свой .bash_profile, запустив эту однострочную строку из терминала:
echo 'export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile
Эта команда берет все, что заключено в одинарные кавычки ( echo
), и добавляет его (>>)
в файл с именем .bash_profile
в корневом (или домашнем) каталоге вашего пользователя (~/)
.
Чтобы эти изменения вступили в силу, вы можете либо выйти из Терминала и перезапустить его, либо выполнить эту команду:
source ~/.bash_profile
Если вы хотите сделать все это вручную, откройте .bash_profile
свой любимый редактор, затем добавьте в него эту строку:
PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"
и сохранить его. Затем выйдите и перезапустите Терминал.
/usr/local/bin
это раньше, /usr/bin
и я все еще получаю последнее при выполнении svn
. Как это возможно?ПРИМЕЧАНИЕ . Ответ monfresh ниже лучше моего. Пока мой метод будет работать, не рекомендуется переименовывать или редактировать системные утилиты.
Когда мне нужно было перейти с SVN 1.6 на 1.7, я установил свою встроенную версию (без использования Homebrew или Macports и т. д.) /usr/local/bin
и переименовал все старые исполняемые файлы svn в /usr/bin
(executablename)-1.6.7.
Так что теперь which svn
дает /usr/local/bin/svn
и старый /usr/bin/svn
есть /usr/bin/svn-1.6.17
.
/usr/bin
только для того, чтобы убрать их с пути, оставляет вас открытыми для обновлений, восстанавливающих их, или для поломки программ, которые от них зависят. Почему бы просто не поставить /usr/local/bin
первое место в вашем PATH
?
мммммм