Ubuntu20.04にGoをインストールする方法
序章
Go は、「Golang」と呼ばれることもあり、2012年にGoogleによってリリースされたオープンソースのプログラミング言語です。 Googleの意図は、すぐに習得できるプログラミング言語を作成することでした。
Goはリリース以来、開発者の間で非常に人気があり、クラウドやサーバー側のアプリケーションから人工知能やロボット工学に至るまで、さまざまなアプリケーションに使用されています。 このチュートリアルでは、最新バージョンのGo(現在のバージョン 1.16.7 )をUbuntu 20.04サーバーにダウンロードしてインストールし、有名なHello, World!
アプリケーションをビルドして、Goコードを将来使用するための実行可能バイナリ。
前提条件
このチュートリアルでは、 Ubuntu 20.04 を使用したサーバーの初期設定で説明されているように、sudo
権限を持つroot以外のユーザーとファイアウォールで構成されたUbuntu20.04システムが必要です。
ステップ1—Goのインストール
このステップでは、サーバーにGoをインストールします。
まず、ssh
を介してUbuntuサーバーに接続します。
- ssh sammy@your_server_ip
次に、Webブラウザで公式のGoダウンロードページに移動します。 そこから、現在のバイナリリリースのtarballのURLをコピーします。
この記事の執筆時点で、最新リリースはgo1.16.7です。 GoをUbuntuサーバー(または任意のLinuxサーバー)にインストールするには、linux-amd64.tar.gz
で終わるファイルのURLをコピーします。
リンクの準備ができたので、最初にホームディレクトリにいることを確認します。
- cd ~
次に、curl
を使用してtarballを取得し、強調表示されたURLをコピーしたURLに置き換えてください。 -O
フラグは、これがファイルに出力されることを保証し、L
フラグはHTTPSリダイレクトを指示します。これは、このリンクがGo Webサイトから取得され、ファイルがダウンロードされる前にここにリダイレクトされるためです。
- curl -OL https://golang.org/dl/go1.16.7.linux-amd64.tar.gz
ダウンロードしたファイルの整合性を確認するには、sha256sum
コマンドを実行し、引数としてファイル名に渡します。
- sha256sum go1.16.7.linux-amd64.tar.gz
これにより、tarballのSHA256チェックサムが返されます。
Outputgo1.16.7.linux-amd64.tar.gz
7fe7a73f55ba3e2285da36f8b085e5c0159e9564ef5f63ee0ed6b818ade8ef04 go1.16.7.linux-amd64.tar.gz
チェックサムがダウンロードページにリストされているものと一致する場合、この手順は正しく実行されています。
次に、tar
を使用してtarballを抽出します。 このコマンドには、他の操作を実行する前にtarに指定されたディレクトリに移動するように指示する-C
フラグが含まれています。 これは、抽出されたファイルが/usr/local/
ディレクトリに書き込まれることを意味します。これは、Goのインストールに推奨される場所です。x
フラグは、tar
に抽出するように指示します。v
詳細な出力(抽出されるファイルのリスト)が必要であることを通知し、f
はファイル名を指定することを通知します。
- sudo tar -C /usr/local -xvf go1.16.7.linux-amd64.tar.gz
/usr/local/go
はGoをインストールするための推奨される場所ですが、一部のユーザーは別のパスを好むか、または必要とする場合があります。
ステップ2—Goパスの設定
このステップでは、環境にパスを設定します。
まず、Goのルート値を設定します。これにより、Goにファイルを探す場所が指示されます。 これを行うには、.profile
ファイルを編集します。このファイルには、ログインするたびにシステムが実行するコマンドのリストが含まれています。
好みのエディタを使用して、ユーザーのホームディレクトリに保存されている.profile
を開きます。 ここでは、nano
を使用します。
- sudo nano ~/.profile
次に、ファイルの最後に次の情報を追加します。
. . .
export PATH=$PATH:/usr/local/go/bin
この情報をプロファイルに追加したら、ファイルを保存して閉じます。 nano
を使用した場合は、CTRL+X
、Y
、ENTER
の順に押してください。
次に、次のコマンドを実行してプロファイルを更新します。
- source ~/.profile
その後、go version
を実行して、go
コマンドを実行できるかどうかを確認します。
- go version
このコマンドは、システムにインストールされているGoのバージョンのリリース番号を出力します。
Outputgo version go1.16.7 linux/amd64
この出力は、サーバーでGoを実行していることを確認します。
ステップ3—インストールのテスト
Goがインストールされ、サーバーのパスが設定されたので、Hello, World!
アプリケーションを作成して、Goが機能していることを確認できます。
まず、Goワークスペース用の新しいディレクトリを作成します。このディレクトリにGoがファイルを作成します。
- mkdir hello
次に、作成したディレクトリに移動します。
- cd hello
パッケージをインポートするときは、コード自体のモジュールを介して依存関係を管理する必要があります。 これを行うには、go mod init
コマンドを使用してgo.mod
ファイルを作成します。
- go mod init your_domain/hello
次に、お好みのテキストエディタでHello, World!
Goファイルを作成します。
- nano hello.go
次のテキストをhello.go
ファイルに追加します。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
次に、CTRL+X
、Y
、ENTER
の順に押して、ファイルを保存して閉じます。
コードをテストして、Hello, World!
グリーティングが出力されることを確認します。
- go run .
OutputHello, World!
go run
コマンドは、作成した新しいhello
ディレクトリとインポートしたパスの.go
ソースファイルのリストからGoパッケージをコンパイルして実行します。 ただし、go build
を使用して、時間を節約できる実行可能ファイルを作成することもできます。
ステップ4—Goコードをバイナリ実行可能ファイルに変換する
go run
コマンドは通常、頻繁な変更が必要なプログラムをコンパイルして実行するためのショートカットとして使用されます。 コードを完成させ、毎回コンパイルせずに実行したい場合は、go build
を使用して、コードを実行可能バイナリに変換できます。 コードを実行可能バイナリにビルドすると、アプリケーションは、バイナリの実行に必要なすべてのサポートコードを含む単一のファイルに統合されます。 バイナリ実行可能ファイルを作成したら、go install
を実行してプログラムを実行可能ファイルのパスに配置し、システムのどこからでも実行できるようにします。 その後、プロンプトが表示されたら、プログラムはHello, World!
を正常に出力し、プログラムを再度コンパイルする必要はありません。
試してgo build
を実行してください。 hello.go
ファイルが保存されているのと同じディレクトリからこれを実行するようにしてください。
- go build
次に、./hello
を実行して、コードが正しく機能していることを確認します。
- ./hello
OutputHello, World!
これにより、hello.go
コードが実行可能バイナリに正常に変換されたことを確認できます。 ただし、このバイナリは、このディレクトリ内からのみ呼び出すことができます。 サーバー上の別の場所からこのプログラムを実行する場合は、実行するためにバイナリのフルファイルパスを指定する必要があります。
バイナリの完全なファイルパスを入力すると、すぐに面倒になる可能性があります。 別の方法として、go install
コマンドを実行することもできます。 これはgo build
に似ていますが、実行可能ファイルを現在のディレクトリに残す代わりに、go install
は$GOPATH/bin
ディレクトリに配置します。これにより、上の任意の場所から実行可能ファイルを実行できます。サーバー。
go install
を正常に実行するには、go build
で作成したバイナリのインストールパスを渡す必要があります。 バイナリのインストールパスを見つけるには、次のgo list
コマンドを実行します。
- go list -f ‘{{.Target}}’
go list
は、現在の作業ディレクトリに保存されている名前付きGoパッケージのリストを生成します。 f
フラグを使用すると、go list
は、渡されたパッケージテンプレートに基づいて異なる形式で出力を返します。 このコマンドは、Target
テンプレートを使用するように指示します。これにより、go list
は、このディレクトリに保存されているパッケージのインストールパスを返します。
Output‘/home/sammy/go/bin/hello
これは、go build
で作成したバイナリファイルのインストールパスです。 これは、このバイナリがインストールされているディレクトリが/home/sammy/go/bin/
であることを意味します。
このインストールディレクトリをシステムのシェルパスに追加します。 異なる場合は、システム上のバイナリのインストールディレクトリを反映するように、このコマンドの強調表示された部分を必ず変更してください。
- export PATH=$PATH:/home/sammy/go/bin/
最後に、go install
を実行して、パッケージをコンパイルしてインストールします。
- go install
hello
と入力するだけで、この実行可能バイナリを実行してみてください
- hello
OutputHello, World!
Hello, World!
の出力を受け取った場合は、サーバー上の特定のパスと指定されていないパスの両方からGoプログラムを正常に実行可能にしています。
結論
最新のGoパッケージをダウンロードしてインストールし、そのパスを設定することで、Go開発に使用するシステムができました。 「Go」タグ内で、Goのインストールと使用に関する追加の記事を見つけてサブスクライブできます。