레이블이 YouCompleteMe인 게시물을 표시합니다. 모든 게시물 표시
레이블이 YouCompleteMe인 게시물을 표시합니다. 모든 게시물 표시

golang vim-go GOBIN error

# go 1.19.2 버전 설치 후 .go 파일을 열때 다음과 같은 에러가 발생했다.
# :messages 로 확인해보면
vim-go: 'go env GOBIN' failed
vim-go: could not determine appropriate working directory for gopls
FileNotFoundError: [Errno 2] No such file or directory: '/Users/ysoftman/.vim/plugged/youcompleteme/third_party/ycmd/third_party/go/bin/gopls'

# vim plug 를 업데이트해도 에러가 발생한다.
:PlugUpdate

# 참고로 vim-go 최신 소스를 보면 go env gobin > $GOBIN > GOPATH./bin 순으로 찾고 있다.

# 다음과 같이 설정해도 에러가 발생한다.
# GOBIN (go install 시 실행 binary 설치 경로)
go env -w GOBIN=/Users/ysoftman/workspace/gopath/gopath/bin
go env GOBIN

# 원인은 go 실행 자체가 안되는것이 문제였다.
# go 신규 버전 설치시 macOS(darwin)환경인데 linux 바이너리파일을 설치한것이 문제였다.
# go1.19.2.linux-amd64.tar.gz -> go1.19.2.darwin-amd64.tar.gz 로 변경해서 설치해고 go 가 실행된다.
# 이제 GOBIN 을 설정하지 않아도(GOPATH/bin 로 찾는다.) 에러가 없다.
go env -w GOBIN=

# vim-plug 라면 go binary 업데이트도 해주자.
:GoUpdateBinaries

# ycmd 에러 관련해서는 다음과 같이 설치하면 된다.
cd ~/.vim/plugged/youcompleteme/third_party/ycmd/
git checkout master
git pull
git submodule update --init --recursive
./build.py --go-completer

ycmd server SHUT DOWN 에러 해결하기

# youcompleteme(ycm) 플러그인을 설치 후 vim 시작시 다음과 같은 에러가 발생한다.
# 참고로 ycm 은 클라이언트이고 third_party/ycmd 에 서버 소스가 있다.
The ycmd server SHUT DOWN (restart with ':YcmRestartServer')

# 다음과 같이 인스톨을 다시 해줘야 한다.
cd ~/.vim/plugged/youcompleteme
git submodule update --init --recursive
./install.py --all --verbose

# 만약 ./install.py 수행시 c++11 지원 안된다는 에러가 발생하는 경우
CMake Error at CMakeLists.txt:247 (message):
  Your C++ compiler does NOT fully support C++11.

# gcc 는 있지만 g++ 이 설치되어 있지 않아서다.
# 다음과 같이 g++ 를 설치 후 ./install.py
sudo yum install gcc-c++

# 만약 다음과 같은 에러가 발생하는 경우
fatal error: pyconfig.h:

# python-devel 을 설치 후 ./install.py
sudo yum install python-devel

#####

# M1(arm64) 맥북 환경에서 다음과 같이 빌드시 clang 에러가 발생했다.
./install.py --all --verbose

# 원인은 pyenv 로 설치한 python3.12(~/.pyenv/shims/python)가
# 설치시 다음과 같이 gcc 로 빌드해서였다.
CC=/opt/homebrew/bin/gcc-13 pyenv install -v 3.12

# clang 으로 다시 빌드해 설치 후
pyenv install -v 3.12

# ycmd 를 다시 빌드하면 된다.
./install.py --all --verbose