# Golang과 go-callvis 설치
1. Golang 설치작업
wget https://dl.google.com/go/go1.11.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.11.4.linux-amd64.tar.gz
export PATH=/usr/local/go/bin:$PATH
go version
* GOROOT는 설치 경로가 /usr/local/go 가 아닐때만 설정 해줄것
(관리자 권한이 없어서 개인 디렉토리에 설치 한 경우에 해당)
export GOROOT =$HOME/go
go env
2. git 설치작업
sudo apt install git -y
3. 작업 폴더 설정($GOPATH)
cd ~
mkdir go
export GOPATH=$HOME/go
env | grep GOPATH
4. 의존성 관련 go-dep 설치
go get -u github.com/golang/dep/cmd/dep
5. 콜그래프 그려주는 go-callvis 설치
sudo apt install graphviz -y
go get -u github.com/TrueFurby/go-callvis
cd $GOPATH/src/github.com/TrueFurby/go-callvis && make
6. go-callvis로 테스트
cd ~/go/bin
go-callvis github.com/TrueFurby/go-callvis
여기서 부터는 미완
에러 발생... 왜 안되는 걸까요 ㅠㅠㅠ
!!절대 GOROOT 주지말 것
결론적으로 에러로 인해 docker-ce와 docker/cli는 go-callvis가 동작하지 않습니다.
go-callvis 자체의 문제인것 같은데 간단한 프로그램에서는 잘 동작하지만 docker와 같은 복잡한 프로그램은 동작을 하지 않는것 같습니다.
go-callvis의 버전이 올라가면 되는 날이 오지 않을까 싶다. go-callvis 튜토리얼에 docker가 있으나 굉장히 오래됬는지 이미 해당 repo는 없고 moby repo로 변경되어 있다.
참고)
의존성 그래프는 그려진다. 콜그래프만 안그려질 뿐
의존성 그래프는 godepgraph를 받아서 실행하면 된다.
성공했던 명령은 아래와 같다. 다만, 그래프가 이쁘게 그려지지는 않는다.
./godepgraph -d -novendor -maxlevel 3 -horizontal github.com/docker/cli/cmd/docker |dot -Tpng -o out3.png
하루를 투자했는데... 너무 아쉽다 된게 없어서... ㅠㅠ