
Я работаю на Mac и недавно обновил Xcode, в этом обновлении он устанавливает последнюю версию в subversion 1.9.x
качестве основной установки. Это было бы нормально, но на работе мы используем 1.8.x
и эта новая версия несовместима.
В идеале я хотел бы изменить основную версию Subversion обратно на 1.8.x, но я не совсем понимаю, как это сделать. На данный момент я установил правильную версию через менеджер пакетов (Homebrew) в /usr/local/opt/subversion
.
Это нормально для моей IDE, потому что я могу указать на папку ./bin. Однако, если я хочу работать в терминале, что я делаю часто, то версия будет 1.9.x.
В качестве обходного пути я создал псевдоним следующим ./bash_profile
образом .alias svn=/usr/local/opt/[email protected]/bin/svn
Теперь, когда я открываю терминал и запускаю, svn --version
я получаю следующее.
svn, version 1.8.16 (r1740329) compiled Apr 2 2017, 22:11:27 on x86_64-apple-darwin15.6.0
Это идеально, но я чувствую, что мне чего-то не хватает, есть другие двоичные файлы, которые я использую время от времени, и мне не хочется давать им всем псевдонимы. Кажется, должен быть способ получше, но я не слишком уверен в перемещении вещей на уровне корня.
Можно ли переназначить рабочую версию subversion. Может быть что-то вроде use svn --path ....
.
решение1
При редактировании добавление $PATH
переменной окружения является опцией в плане установки порядка предпочтения для двоичных файлов, которые вы хотели бы использовать. Это может быть не совсем необходимо.
При запуске svn up
из терминала рабочей копии с несоответствующей версией Subversion вы получите следующее сообщение.
svn: E155036: Please see the 'svn upgrade' command
Прошлый опыт слепого запуска команд заставляет меня нервничать, но после исследования нескольких машин моих коллег стало ясно, что несовместимость связана с рабочей копией, а не с сервером VCS.
Чтобы устранить несоответствие, вы можете просто запустить svn upgrade
. После этого вы сможете запустить svn up
и обновление должно пройти без проблем.
Если все вышеперечисленное не помогло, вы все равно можете принудительно svn
использовать определенную версию двоичного файла, указав путь к папке subversion в $PATH
переменной среды.
напримерexport PATH=/usr/local/opt/[email protected]/bin:/usr/bin:/bin:$PATH
На что я не тратил время, чтобы понять до сих пор, так это на то, что $PATH
содержит местоположение любых двоичных файлов, которые вы хотите сделать доступными из командной строки. Чем ближе к началу строки находится выбранный вами двоичный файл, тем выше порядок их выбора.
Я считаю, что если папка больше недоступна, она должна быть перемещена в следующее местоположение.