ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Mac에서 GVM으로 Golang 버전 관리하기
    프로그래밍 기초/Golang 2022. 1. 10. 19:30
    반응형

    개요

    이 문서는 Mac에서 gvm(go version manager)를 통해 golang을 설치하는 방법을 다룬다. 나의 개발 환경은 다음과 같다.

    • desktop: macbook pro 13 2020
    • cpu: Intel Core i7 4core
    • memory: 32GB

    Golang 설치

    역설적으로 gvm을 실행하기 위해서는 golang이 필요하다. 터미널에 다음을 입력한다.

    $ brew install go
    Running `brew update --preinstall`...
    ==> Auto-updated Homebrew!
    ...
    ==> Pouring go--1.17.5.big_sur.bottle.tar.gz
    🍺  /usr/local/Cellar/go/1.17.5: 10,825 files, 565.8MB
    ==> Running `brew cleanup go`...
    Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
    Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

     

    만약 Homebrew가 설치되지 않았다면 다음을 참고하라.

     

    주니어 엔지니어의 개발 환경 구축하기 (1) 기본 소프트웨어

    개요 이 문서는 필자의 맥북에 개발 환경, 특히 개발 시 필요한 소프트웨어 혹은 기본 소프트웨어를 대체하여 유틸리티를 높이는 소프트웨어들을 설치하는 방법에 대해 다룬다. 이 문서에서 다

    gurumee92.tistory.com

    GVM 설치

    먼저 여러 golang 버전을 쉽게 관리하기 위해서 gvm을 설치한다. 터미널에 다음을 입력한다.

    $ bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

     

    그 후 터미널을 다시 키거나 다음 명령어를 입력한다.

    $ source ~/.gvm/scripts/gvm

     

    그 후 터미널에 다음을 입력해서 제대로 설치되었는지 확인해보자.

    $ gvm version
    Go Version Manager v1.0.22 installed at /Users/gurumee92/.gvm

    GVM을 통한 Golang 버전 관리

    먼저 gvm을 통해서 설치된 golang들을 확인해보자.

    $ gvm list                                                                                                         
    
    gvm gos (installed)
    
       system

     

    정상적으로 동작하기 위해서는 시스템에 설치된 golanggvm이 참조해야 한다. 다음 명령어를 입력한다.

    $ gvm use system --default                                                                                         
    Now using version system

     

    이제 다시 gvm list를 입력해본다.

    $ gvm list                                                                                                                [17:11:45]
    
    gvm gos (installed)
    
    => system

     

    이제 설치 가능한 golang 버전을 확인해보자.

    $ gvm listall
    
    gvm gos (available)
    
       go1
       go1.0.1
       go1.0.2
       go1.0.3
    ...
       go1.17.4
       go1.17.5
       go1.18beta1
       release.r56
       release.r57
       release.r58
       release.r59
       release.r60
       release.r57.1
       release.r57.2
       release.r58.1
       release.r58.2
       release.r60.1
       release.r60.2
       release.r60.3

     

    이제 다른 버전인 v1.16 버전을 설치해보자.

    $  gvm install go1.16                                                                                               
    Installing go1.16...
     * Compiling...
    go1.16 successfully installed!

     

    다시 한 번 gvm list를 실행해보자. 

    $ gvm list                                                                                                         
    
    gvm gos (installed)
    
       go1.16
    => system

     

    현재 golang 버전을 확인해보면 작성일 기준 v1.17.5가 출력된다.

    $ go version                                                                                                       
    go version go1.17.5 darwin/amd64

     

    이제 gvm을 통해 설치되었던 v1.16 버전으로 바꿔보자.

    $  gvm use 1.16                                                                                                     
    Now using version go1.16

     

    다시 한 번 go version 명령어를 통해서 버전을 확인해보면 설치했던 v1.16이 출력되는 것을 확인할 수 있다.

    $ go version                                                                                                       
    go version go1.16 darwin/amd64

     

    만약 gvm의 다른 명령어를 사용하고 싶다면 gvm help를 입력해보면 어떤 것들이 있는지 확인할 수 있다.

    $ gvm help                                                                                                         
    Usage: gvm [command]
    
    Description:
      GVM is the Go Version Manager
    
    Commands:
      version    - print the gvm version number
      get        - gets the latest code (for debugging)
      use        - select a go version to use (--default to set permanently)
      diff       - view changes to Go root
      help       - display this usage text
      implode    - completely remove gvm
      install    - install go versions
      uninstall  - uninstall go versions
      cross      - install go cross compilers
      linkthis   - link this directory into GOPATH
      list       - list installed go versions
      listall    - list available versions
      alias      - manage go version aliases
      pkgset     - manage go packages sets
      pkgenv     - edit the environment for a package set

    참고

Designed by Tistory.