テクノロジー

goenv を使うべきか gvm を使うべきか

msh5's icon'
  • msh5
  • 2021/06/07 14:50

調べるとすぐにわかると思うのですが、Go の環境管理(?)ツールとしては goenv と gvm の二つがメジャーでして、この二つの比較というのが誰もが通る道になると思います。ただ、総合的にみると goenv が使いやすいと個人的には思いますし、実際に使っている方も多い印象です。

goenv

Goenv のメリットは他言語の *env ツールとインタフェイスが同じにできてある点です。なので他言語で慣れている方にとっては使い方がすぐに覚えられて、扱いやすいでしょう。あとは anyenv に組み込まれているのはこちらなので、anyenv を使う場合には無条件でこちらを使うことになると思います。

goenv install 1.11.1
goenv local 1.11.1

さらに、Homebrew でのインストールに対応しているので、MacOS ユーザとしては嬉しいところです。ただ、残念なことに brew install goenv しても、古いバージョンしか落ちてきません。😅

見たところ Goenv 自体はメンテを続けているものの、2018年12月のリリースを最後に beta リリースばかりが続いている状態です。古いバージョンでは Go 1.14.4 までしか扱うことができませんので、今日日使いものにならないでしょう。

Homebrew を使わないインストール方法も(もちろん)用意されていますので、MacOS であるかに関わらずこちらの方法でインストールすることをおすすめします。

goenv/INSTALL.md at master · syndbg/goenv

もしくは、以下の記事で紹介されているように --HEAD フラグ付きで brew install することでも対応が可能です。(定期的なバージョンアップが必要なツールにはなるので、Homebrew でパッケージ管理するに越したことはないのかな、という気はしました。)

brew uninstall goenv && brew install --HEAD goenv

【解消済み】goenvで最新のgoのバージョンが表示されない問題 - ポンコツエンジニアのごじゃっぺ開発日記。

gvm

GitHub のスター数で見ると断然 gvm の方が多いです。ただ goenv も十分多いですので、そこまで気にしなくて良いのかなという印象です。

gvm : 6.3k goenv: 1k

使い方は goenv と比較すれば独特ですので、Usage を見ながら使うことになると思います。ただ、機能自体は一般的な **env ツールと変わらないので、使い方に困るレベルではないと思います。

gvm install go1.4
gvm use go1.4

インストール方法がこの bash スクリプトを実行することしか対応しておらず、これに関してはちょっと不親切かなと思いました。(profile をいじっているせいか、手持ちの PC の一つではインストールが失敗してしまいました…。)

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

https://github.com/moovweb/gvm#installing

余談:各ツールの Go の最新リリースへの追従

リリースされたばかりのバージョンだったりすると、gvm であれ goenv であれば対応されていないことがあります。対応されるのを待つというのもいいのですが、プルリクエストを出せばしれっとマージしてもらえるので、早く使えるようになって欲しい場合には、過去のプルリクエストをもとに出してみるのをオススメします。

(さらに余談になってしまいますが)実際に過去のプルリクエストの変更を見てもらえるとわかるのですが、難易度のごくごく低いタスクになりますので、学生の方などで「OSS にコントリビュートしてみたい!」という方にもオススメです。

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 2.65 ALIS Article tip 1.10 ALIS
msh5's icon'
  • msh5
  • @msh5

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
124.82 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS