본문 바로가기
프로그래밍/리눅스

[Go install] golang compiler 패키지 설치하기

by life_is_egg 2024. 10. 22.
반응형

 목차 

1️⃣ Go 소개

2️⃣ Go로 패키지 설치하기


1️⃣  Go 소개

Go 언어(줄여서 Go 또는 Golang)는

2007년 구글(Google)에서 개발된 오픈 소스 프로그래밍 언어이다.

 

Go는 간결함, 효율성, 병렬 처리를 쉽게 구현할 수 있도록 설계된 언어로,

주로 서버 개발이나 클라우드 기반 애플리케이션에서 널리 사용된다고 한다.

 

아직 Go에 대해 완벽히 파악하지 못했다...

 

🧐 conda, docker로 패키지 설치하듯 Go를 이용해 패키지를 설치할 수 있다. 🧐


설치하고자 하는 패키지는 2024년 9월에 Genome Biology에 올라온 Enhlink이라는 툴이다.

https://genomebiology.biomedcentral.com/articles/10.1186/s13059-024-03374-9

 

Enhlink infers distal and context-specific enhancer–promoter linkages - Genome Biology

Enhlink is a computational tool for scATAC-seq data analysis, facilitating precise interrogation of enhancer function at the single-cell level. It employs an ensemble approach incorporating technical and biological covariates to infer condition-specific re

genomebiology.biomedcentral.com

 

Enhlink은 golang compiler를 통해 패키지를 설치하라고 소개가 되어있다.


2️⃣ Go로 패키지 설치하기

( 🔎  참고로, go는 conda install로 설치 가능하다.)

 

1) GOBIN 또는 GOPATH 설정 확인

 

1-1)  ✈️ GOBIN 또는 GOPATH의 경로 확인 ✈️

Go가 패키지를 설치한 디렉토리를 확인하기 위해 아래의 명령어를 터미널에 실행한다.

$ go env GOBIN

 

위의 명령어로 아무것도 출력이 되지 않았다면

Go가 기본 경로인 $GOPATH/bin에 패키지를 설치한다는 것이다.

 

이럴 때는 아래의 명령어로 $GOPATH 경로를 확인할 수 있다.

(나의 경우 Go 기본 경로가 /home/lifeisegg/go 라고 나옴)

$ go env GOPATH
/home/lifeisegg/go

 

1-2) ⛳ (옵션) PATH에 $GOPATH/bin 추가

만약 $GOPATH/bin 이나 $GOBIN 경로가 PATH에 추가되지 않았다면,

이 경로를 시스템의 PATH에 추가해야 한다,

$ export PATH=$PATH:$(go env GOPATH)/bin

 

2) 패키지 설치

✅ go install 로 설치하고자 하는 패키지를 설치한다.

 

go install 명령어는 Go 모듈을 통해 패키지를 설치하고,

패키지의 소스 코드를 컴파일하여 실행가능한 파일을 $GOPATH/bin 또는 $GOBIN에 저장한다.

### example
# go version >= 1.18
# Install enhlink
$ go install gitlab.com/Grouumf/enhlinktools/enhlink@latest
# Install enhgrid
$ go install gitlab.com/Grouumf/enhlinktools/enhgrid@latest
# Install enhtools
$ go install gitlab.com/Grouumf/enhlinktools/enhtools@latest

 

설치할 때 아래와 같이 나온다면 성공한 것이다!

go: downloading gitlab.com/Grouumf/enhlinktools/enhlink v0.0.0-20240905014251-972a77ac315a
go: downloading gitlab.com/Grouumf/enhlinktools v0.10.2
go: downloading gitlab.com/Grouumf/ATACdemultiplex/ATACdemultiplexUtils v0.0.0-20231204194046-760c57794d91
go: downloading gitlab.com/Grouumf/enhlinktools/matrix v0.0.0-20231204202714-1f1a9f51b6ff
go: downloading gitlab.com/Grouumf/enhlinktools/enhlinkobject v0.0.0-20240730164559-df9745395267
go: downloading github.com/biogo/hts v1.2.2
go: downloading github.com/jinzhu/copier v0.1.0
go: downloading github.com/biogo/store v0.0.0-20201120204734-aad293a2328f
go: downloading github.com/klauspost/pgzip v1.2.5
go: downloading github.com/dsnet/compress v0.0.1
go: downloading github.com/valyala/fastrand v1.1.0
go: downloading gonum.org/v1/gonum v0.14.0
go: downloading github.com/klauspost/compress v1.4.1
go: downloading github.com/klauspost/cpuid v1.2.0
go: downloading golang.org/x/exp v0.0.0-20230321023759-10a507213a29

3) 설치확인

$GOBIN 또는 $GOPATH/bin 경로에 들어가 패키지 설치가 잘 되었는지 확인할 수 있다.

아래와 같이 설치한 패키지 폴더가 생성되었다면 성공적으로 설치가 된 것이다.

$ ls /home/lifeisegg/go/bin/
enhgrid  enhlink  enhtools

 

추가로 패키지 명령어를 실행하여 오류가 없는지 확인해 볼 수도 있다.

반응형

댓글