# 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


하루를 투자했는데... 너무 아쉽다 된게 없어서... ㅠㅠ