UbuntuにGo言語をインストールして開発環境を構築する方法

開発環境

「UbuntuにGoをインストールしたいけど、apt installだとバージョンが古い……」という声をよく聞きます。実際に確認してみると、Ubuntu 24.04 の apt では go1.22.2 しか入らず、最新の go1.24.4 より2世代以上古いことがわかりました。

本記事では Ubuntu 24.04 LTS の Docker 公式イメージで実際にコマンドを実行し、apt 版と公式バイナリ版の違いを比較しながら、Go の開発環境を構築する手順を解説します。

この記事のポイント

  • apt install golang-go では go1.22.2(Ubuntu 24.04)が入る。最新版より古い
  • 公式バイナリ(go.dev)なら常に最新 go1.24.4 をインストールできる
  • インストール後は ~/.bashrc に PATH を追記して source するのを忘れずに
  • 動作確認は go version と Hello World の実行で OK
  • 本記事は Ubuntu 24.04 LTS(Docker公式イメージ)で実際に検証した結果を掲載しています

目次

  1. apt版 vs 公式バイナリ版:何が違うか
  2. 方法①:apt でインストールする(手軽・旧バージョン)
  3. 方法②:公式バイナリでインストールする(推奨・最新版)
  4. インストール後の動作確認
  5. Hello World を書いて動かす
  6. GOPATH と GOROOT の意味
  7. よくあるエラーと解決策
  8. まとめ

動作確認環境

本記事のコマンドは Ubuntu 24.04 LTS(Docker公式イメージ ubuntu:24.04)で検証しています。Ubuntu 22.04 でも基本的な手順は同じですが、apt で入るバージョンは go1.18.x となります。

apt版 vs 公式バイナリ版:何が違うか

Go をインストールする方法は大きく2つあります。それぞれ実際に確認した結果をまとめると以下の通りです。

Go インストール方法別バージョン比較表(実測)
Go インストール方法別バージョン比較表(実測)

一番の違いはバージョンの新しさです。apt は Ubuntu のリリース時期に合わせてパッケージが固まるため、OS のサポート期間中ずっと同じバージョンが提供されます。一方、公式バイナリは go.dev から直接取得するので、Go の最新リリースをすぐに使えます。

個人開発や学習目的なら apt 版でも問題ありませんが、最新の言語機能や標準ライブラリを使いたい場合は公式バイナリをおすすめします

方法①:apt でインストールする(手軽・旧バージョン)

最も手軽な方法です。コマンド2行で完了します。Ubuntu 24.04 では go1.22.2 が入ります。

手順1:パッケージリストを更新する




ubuntu@linuxlab: ~
$ sudo apt update
Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB]
Fetched 36.5 MB in 2s (16.8 MB/s)
Reading package lists… Done

手順2:golang-go をインストールする




ubuntu@linuxlab: ~
$ sudo apt install -y golang-go
Reading package lists… Done
Building dependency tree… Done
The following NEW packages will be installed:
golang-go golang-1.22 golang-1.22-go golang-1.22-src …
Setting up golang-go:amd64 (2:1.22~2build1) …
$ go version
go version go1.22.2 linux/amd64
apt install golang-go の実行ログ(Ubuntu 24.04 実測)
apt install golang-go の実行ログ(Ubuntu 24.04 実測)

go version go1.22.2 linux/amd64 と表示されれば成功です。実際に計測した結果では、インストール完了まで約30〜60秒(依存パッケージを含む)でした。

Ubuntu 22.04 の場合

Ubuntu 22.04(Jammy)では apt で入る Go のバージョンは 1.18.x(パッケージ: 2:1.18~0ubuntu2)です。Go 1.18 は2022年リリースで、Go Generics が追加されたバージョンですが、現在は2世代以上古いです。新しい機能を使いたい場合は公式バイナリをおすすめします。

方法②:公式バイナリでインストールする(推奨・最新版)

go.dev の公式バイナリを直接インストールする方法です。常に最新版の Go を使えます。Ubuntu 24.04 公式 Docker イメージで実際に実行して確認しました。

手順1:wget で公式バイナリをダウンロードする




ubuntu@linuxlab: ~
$ wget https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz -O /tmp/go.tar.gz
-rw-r–r– 1 root root 75M Jun 5 2025 /tmp/go.tar.gz

wget が入っていない場合は先に sudo apt install -y wget を実行してください。ファイルサイズは約75MBです(実測値)。

最新バージョン番号は go.dev/dl で確認できます。2026年6月時点の最新は go1.24.4 でした。

手順2:/usr/local に展開する




ubuntu@linuxlab: ~
$ sudo tar -C /usr/local -xzf /tmp/go.tar.gz
(エラーなく完了)

このコマンドで /usr/local/go/ ディレクトリが作成されます。ここが GOROOT(Goの実行バイナリがある場所)です。

手順3:PATH を通す(~/.bashrc に追記)




ubuntu@linuxlab: ~
$ echo ‘export PATH=$PATH:/usr/local/go/bin’ >> ~/.bashrc
$ source ~/.bashrc

ここだけは順番を間違えると動きません。~/.bashrc に書いて source するか、新しいターミナルを開いてください。export するだけでは現在のセッションしか反映されません。

注意:zsh を使っている場合

シェルに zsh を使っている場合は ~/.bashrc ではなく ~/.zshrc に同じ行を追記してください。echo $SHELL で現在のシェルを確認できます。

手順4:バージョン確認




ubuntu@linuxlab: ~
$ go version
go version go1.24.4 linux/amd64
$ go env GOROOT
/usr/local/go
$ go env GOPATH
/root/go
公式バイナリ go1.24.4 インストールと go version 確認(実測)
公式バイナリ go1.24.4 インストールと go version 確認(実測)
go version と go env 実行結果のターミナル出力(実測スクリーンショット)
go version と go env 実行結果のターミナル出力(実測スクリーンショット)

go version go1.24.4 linux/amd64 と表示されれば成功です。実際に Ubuntu 24.04 Docker コンテナで計測した結果、ダウンロードから go version の確認まで約2〜3分でした。

インストール後の動作確認

インストール後に最初に確認すべきコマンドをまとめます。




ubuntu@linuxlab: ~
$ go version
go version go1.24.4 linux/amd64
$ go env GOVERSION
go1.24.4
$ which go
/usr/local/go/bin/go

which go/usr/local/go/bin/go を返していれば、正しく PATH が通っています。

Hello World を書いて動かす

環境が整ったら、実際に Go のコードを書いて実行してみましょう。Ubuntu 24.04 コンテナで実際に動作確認しました。

手順1:プロジェクトディレクトリを作る




ubuntu@linuxlab: ~
$ mkdir ~/hello && cd ~/hello

手順2:main.go を作成する




ubuntu@linuxlab: ~/hello
$ cat > main.go << ‘EOF’
package main

import “fmt”

func main() {
fmt.Println(“Hello, Go!”)
}
EOF

手順3:go run で実行する




ubuntu@linuxlab: ~/hello
$ go run main.go
Hello, Go!

手順4:go build でバイナリをビルドする




ubuntu@linuxlab: ~/hello
$ go build -o hello .
$ ./hello
Hello, Go!
Hello World の実行確認(go run と go build、実測)
Hello World の実行確認(go run と go build、実測)

go run main.go はコンパイルと実行を同時に行うコマンドです。開発中はこちらが便利。go build は最終的なバイナリを作るときに使います。実際に Ubuntu 24.04 で実行して Hello, Go! の出力を確認しました。

GOPATH と GOROOT の意味

Go の環境変数で最初に混乱しやすいのがこの2つです。

変数名 デフォルト値(実測) 意味
GOROOT /usr/local/go Go 本体(バイナリ・標準ライブラリ)のインストール先
GOPATH /root/go(または ~/go 自分のプロジェクトや外部パッケージのキャッシュが入る場所
GOBIN (未設定時は $GOPATH/bin) go install でインストールしたコマンドの置き場

基本的に GOROOT は触らなくて大丈夫です。GOPATH はデフォルトの ~/go のままで問題ありません。

著者アイコン
著者アイコン

Go 1.11 以降は Go Modules が主流になったので、昔ほど GOPATH を意識しなくても開発できるようになりました。プロジェクトディレクトリで go mod init すれば OK です。

よくあるエラーと解決策

①「go: command not found」が出る




ubuntu@linuxlab: ~
$ go version
Command ‘go’ not found

原因:PATH が通っていない。

対処:以下のコマンドを実行し、現在のセッションだけでなく ~/.bashrc にも PATH を追記してください。




ubuntu@linuxlab: ~
$ echo ‘export PATH=$PATH:/usr/local/go/bin’ >> ~/.bashrc
$ source ~/.bashrc
$ go version
go version go1.24.4 linux/amd64

②「apt update を忘れて古い情報でインストールした」

apt update を忘れがちですが、これをやらないと古いキャッシュから探そうとして Unable to locate package golang-go エラーになることがあります。必ず sudo apt update を先に実行してください。

③既存の go バイナリと競合する

以前に別の方法でインストールした Go が残っている場合、which go が意図しないパスを指すことがあります。




ubuntu@linuxlab: ~
$ which go
/usr/bin/go ← apt版が優先されている例
$ sudo rm -rf /usr/local/go ← 古い公式バイナリがある場合
$ sudo apt remove golang-go ← apt版がある場合

注意:sudo rm -rf は慎重に

sudo rm -rf /usr/local/go は Go のインストールディレクトリを丸ごと削除します。パスを間違えると他のデータを消してしまう危険があります。実行前に ls /usr/local/go でディレクトリの中身を確認してください。

まとめ

Ubuntu に Go をインストールする2つの方法を、実際に Ubuntu 24.04 Docker コンテナで検証した結果とともに解説しました。

  • apt 版(sudo apt install golang-go)→ コマンド2行で簡単。Ubuntu 24.04 では go1.22.2 が入る
  • 公式バイナリ(go.dev)→ 少し手間がかかるが常に最新版(go1.24.4)。本格開発ならこちら
  • インストール後は ~/.bashrc への PATH 追記と source ~/.bashrc を忘れずに
  • 動作確認は go version と Hello World で OK

Go の開発環境が整ったら、次は VPS でサーバーを立ち上げて Go アプリをデプロイしてみましょう。VPS 比較記事ではおすすめのホスティングサービスを実測ベンチ付きで紹介しています。

コメント

タイトルとURLをコピーしました