/bin /usr/bin에 잘못된 Subversion 바이너리가 있습니다.

/bin /usr/bin에 잘못된 Subversion 바이너리가 있습니다.

저는 Mac에서 작업 중이며 최근 Xcode를 업데이트했습니다. 이 업데이트에서는 최신 버전을 subversion 1.9.x핵심 설치로 설치합니다. 이것은 괜찮지만 직장에서 우리가 사용하고 있는 1.8.x이 최신 버전은 호환되지 않습니다.

이상적으로는 핵심 Subversion을 1.8.x로 다시 변경하고 싶지만 진행 방법이 명확하지 않습니다. 지금까지 수행한 작업은 패키지 관리자(Homebrew)를 통해 올바른 버전을 /usr/local/opt/subversion.

./bin 폴더를 가리킬 수 있으므로 이는 내 IDE에 적합합니다. 그러나 자주 수행하는 터미널에서 작업하려면 버전이 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명령줄에서 액세스할 수 있는 바이너리의 위치가 포함되어 있다는 것입니다. 선택한 바이너리가 문자열 앞쪽에 가까울수록 선택되는 순서가 결정됩니다.

폴더를 더 이상 사용할 수 없으면 다음 위치로 계단식으로 이동해야 한다고 생각합니다.

관련 정보