1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

バージョン管理の方法

Last updated at Posted at 2019-05-09

バージョン管理(は大切らしい)

  • 昨日購入した書籍には/usr/local配下にgoディレクトリを作成し、さらにバージョンごとにディレクトリを作成。必要応じてシンボリックリンクを切り替える事でバージョンを切り替えを行い管理出来ると書いてあった
  • 前職の上司が「開発するバージョンによって動作がまったく違うので、バージョン管理は凄く大切!」と力説された事がある。エンジニアとして尊敬する人だったので、今でもそれははっきりと覚えている事からバージョン管理を調べてみた
  • 今回インストールしたsnapという方法では簡単にバージョンを切替える事が出来るらしい。参照元はココです。(情報ありがとうございます)
  • まずgo versionコマンドで既存バージョンを確認
$ go version
go version go1.12.2 linux/amd64
  • 切り替えたいバージョンをsnap info goで参照。なお、最終行に今インストールされているバージョンが表示されている(installedのところ)
name:      go
summary:   Go programming language compiler, linker, stdlib
publisher: Michael Hudson-Doyle (mwhudson)
contact:   michael.hudson@ubuntu.com
license:   unset
description: |
  This snap provides an assembler, compiler, linker, and compiled libraries for the Go programming
  language.
commands:
  - go
  - go.gofmt
snap-id:      Md1HBASHzP4i0bniScAjXGnOII9cEK6e
tracking:     stable
refresh-date: 5 days ago, at 20:49 JST
channels:
  stable:         1.12.5        2019-05-08 (3739) 92MB classic
  candidate:      ↑
  beta:           ↑
  edge:           devel-f766b68 2019-05-09 (3749) 92MB classic
  1.12/stable:    1.12.5        2019-05-08 (3739) 92MB classic
  1.12/candidate: ↑
  1.12/beta:      ↑
  1.12/edge:      ↑
  1.11/stable:    1.11.10       2019-05-08 (3730) 82MB classic
  1.11/candidate: ↑
  1.11/beta:      ↑
  1.11/edge:      ↑
  1.10/stable:    1.10.8        2019-01-24 (3133) 58MB classic
  1.10/candidate: ↑
  1.10/beta:      ↑
  1.10/edge:      ↑
  1.9/stable:     1.9.7         2018-06-13 (2117) 58MB classic
  1.9/candidate:  ↑
  1.9/beta:       ↑
  1.9/edge:       ↑
  1.8/stable:     1.8.7         2018-02-07 (1407) 51MB classic
  1.8/candidate:  ↑
  1.8/beta:       ↑
  1.8/edge:       ↑
  1.7/stable:     1.7.6         2017-06-02  (324) 48MB classic
  1.7/candidate:  ↑
  1.7/beta:       ↑
  1.7/edge:       ↑
  1.6/stable:     1.6.4         2017-05-17  (122) 49MB classic
  1.6/candidate:  ↑
  1.6/beta:       ↑
  1.6/edge:       ↑
installed:        1.12.2                   (3584) 92MB classic
  • sudo snap refresh --classic --channel=切り替えたいバージョンで切り替えが出来る(切り替えたいバージョンはインストールされる)
  • 余談だが最後にgoを付けないと以下エラーが表示されて切り替え不可になるので注意
error: a single snap name is needed to specify mode or channel flags
  • 切り替え実施
$ sudo snap refresh --classic --channel=1.10/stable go
go (1.10/stable) 1.10.8 from Michael Hudson-Doyle (mwhudson) refreshed
  • インストール(切り替え)完了後にバージョンを見るとちゃんと指定したバージョンに切り替わっている。う〜ん凄いぜsnapコマンド!
$ go version
go version go1.10.8 linux/amd64`
  • 余談だsudo snap refresh --classic --channel=stableで最新の安定板にすると、再度DLが始まり最終的に最終バージョンがインストールされる
$ sudo snap refresh --classic --channel=stable go
go 1.12.5 from Michael Hudson-Doyle (mwhudson) refreshed
$ go version
go version go1.12.5 linux/amd64

【余談】クラウドでやりたい

  • オンプレミス(あまり好きな表現ではない)でやると、設置場所にいないと出来ないのは21世紀には歯痒い
  • なんやかんあるけど、結局クラウドでやればいいのでは?
  • そんなこんなで明日はGCPでインスタンス構築してみようと思う
  • 脱線しないように注意しましましょう
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?