여러 개의 GOPATH 를 손 쉽게 관리 할 수 있 습 니 다.
보통 내 기계 에는 GOPATH 가 하나 밖 에 없 는데 이것 도 대부분의 Gophers 가 추천 하 는 방안 이다.그러나 같은 의존 관 계 를 가 진 서로 다른 버 전의 프로젝트 를 처리 하고 정확하게 업데이트 해 야 할 때 도 있다.우 리 는 단지 일 하고 있 는 물건 을 파괴 하거나 그것들 을 엉망 으로 만 들 고 싶 지 않 을 뿐이다.
빠 른 해결 방안 은 GOPATH 를 다른 곳 으로 가리 키 는 것 이지 만 우리 가 할 항목 을 교환 할 때마다 다시 변경 해 야 합 니 다.
그래서 나 는 방금 bash 를 사용 하 는 명령 행 에서 사용 할 수 있 고 다른 셸 에 도 적용 할 수 있 는 간단 한 해결 방안 을 생각해 냈 다.나 는 VIM 사용자 이기 때문에 이 방안 은 매우 잘 일한다.그러나 저 는 이런 방법 을 Sublime Text 나 다른 어떤 방법 으로 도 GOPATH 의 IDE 를 설정 하 는 것 을 추천 하지 않 습 니 다.편집기/IDE 를 매번 같은 명령 행 셸 에서 불 러 오지 않 는 한 이 IDE 는 GOPATH 를 설정 하지 않 아 도 됩 니 다. 그렇지 않 으 면 이 프로젝트 는 작 동 하지 않 습 니 다.
해결 방법 은 간단 하 다.~/. bashrc (또는 ~/. bash profile) 에 다음 코드 세 션 을 포함 하고 source ~/. bashrc 로 프로필 을 다시 불 러 오 면 됩 니 다.이 세 션 은 셸 함 수 를 만 들 것 입 니 다. 이 함 수 는 내 장 된 명령 cd 를 맞 춤 형 명령 cd 로 덮어 쓰 고 있 는 디 렉 터 리 를 맞 춤 형 명령 cd 로 스 캔 하 며 상위 디 렉 터 리 를 스 캔 하여 'gopath' 라 는 파일 을 찾 습 니 다.
cd () {
builtin cd "$@"
cdir=$PWD
while [ "$cdir" != "/" ]; do
if [ -e "$cdir/.gopath" ]; then
export GOPATH=$cdir
break
fi
cdir=$(dirname "$cdir")
done
}
이 디 렉 터 리 에 들 어 갈 때마다 새로 정 의 된 cd 함 수 는 현재 환경의 GOPATH 를 이 디 렉 터 리 로 설정 합 니 다.
예 를 들 어 두 개의 디 렉 터 리 A 와 B 를 만 들 고 각각 하나의 하위 디 렉 터 리 src 를 가지 고 해결 방안 을 충분히 설명 합 니 다.
$ go env GOPATH
/home/user/Go
$ mkdir -p ~/A/src && touch ~/A/.gopath
$ mkdir -p ~/B/src && touch ~/B/.gopath
$ cd ~/A/src
$ go env GOPATH
/home/user/A
$ cd ~/B/src
$ go env GOPATH
/home/user/B
괜 찮 습 니 다. 하지만 저 는 지금 원래 의 GOPATH 를 원 합 니 다.
$ cd /home/user/Go
$ go env GOPATH
/home/user/B
emmmm, 우 리 는 여기에 'gopath' 를 만들어 야 합 니 다.
$ touch /home/user/Go/.gopath
$ cd .
$ go env GOPATH
/home/user/Go
전혀 문제 가 없습니다. 외부 의존 이 필요 없 는 간단 한 GOPATH 관리 방안 이 등장 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.