Ubuntu 18.04にGoをインストールしてローカル開発環境をセットアップする方法

0 株式
0
0
0
0

導入

Goは、Google社内の不満から生まれたプログラミング言語です。開発者は常に、実行効率は高いもののコンパイルに長い時間がかかる言語と、プログラミングは簡単だが本番環境では非効率な言語のどちらかを選ばざるを得ませんでした。Goは、高速なコンパイル、プログラミングの容易さ、そして本番環境での効率的な実行という、この3つを同時に実現するように設計されました。.

Goは様々なプログラミングプロジェクトに使用できる汎用性の高いプログラミング言語ですが、特にネットワーク/分散システムアプリケーションに適しており、「クラウドの言語」として知られています。Goは、堅牢なツールセットを用いて現代のプログラマーがより多くのことを実現できるようにすることに重点を置いており、フォーマットを言語仕様の一部にすることでフォーマットに関する議論を排除し、単一のバイナリにコンパイルすることでデプロイメントを簡素化しています。Goはキーワードが非常に少なく、習得しやすいため、初心者から経験豊富な開発者まで、誰にとっても最適な選択肢です。.

このチュートリアルでは、コマンドラインからGoプログラミングワークスペースをインストールおよび設定する方法について説明します。このチュートリアルではUbuntu 18.04のインストール手順を具体的に説明しますが、基本的な原則は他のDebianベースのLinuxディストリビューションにも適用できます。

前提条件
  • Ubuntu 18.04 がインストールされたコンピューターまたは仮想マシン、およびそのデバイスへの管理者アクセス権とインターネット接続が必要になります。.

ステップ1 – Goを起動する

この時点で、Go の公式ダウンロード ページから現在のバージョンをダウンロードして、Go をインストールします。.

まず、ssh 経由で Ubuntu サーバーに接続します。

ssh sammy@your_server_ip

次に、ウェブブラウザでGoの公式ダウンロードページにアクセスします。そこから、現在のバイナリtarballのURLをコピーします。.

この記事の執筆時点での最新バージョンは go1.16.7 です。Ubuntu サーバー(または任意の Linux サーバー)に Go をインストールするには、末尾が linux-amd64.tar.gz のファイルの URL をコピーしてください。.

リンクの準備ができたので、まずメイン ディレクトリにいることを確認します。

cd 

次に、curl を使って tarball を取得します。ハイライト表示されている URL を、先ほどコピーした URL に置き換えてください。-O フラグは出力をファイルに出力することを指定し、L フラグは HTTPS リダイレクトを指定します。リンクは Go ウェブサイトから取得され、ファイルのダウンロード前にここにリダイレクトされます。

curl -OL https://golang.org/dl/go1.16.7.linux-amd64.tar.gz

ダウンロードしたファイルの信頼性を検証するには、ファイル名を引数として渡して sha256sum コマンドを実行します。

sha256sum go1.16.7.linux-amd64.tar.gz

これは、tarball の SHA256 チェックサムを返します。

Output
go1.16.7.linux-amd64.tar.gz
7fe7a73f55ba3e2285da36f8b085e5c0159e9564ef5f63ee0ed6b818ade8ef04 go1.16.7.linux-amd64.tar.gz

チェックサムがダウンロード ページに記載されているものと一致する場合、この手順は正しく完了しています。.

次に、tar コマンドを使って tarball を解凍します。このコマンドには -C フラグが含まれており、これは tar に他の操作を実行する前に指定されたディレクトリに移動するように指示します。つまり、解凍されたファイルは /usr/local/ ディレクトリ(Go のインストールに推奨される場所)に書き込まれます。x フラグは tar に解凍の実行を指示し、v は完全な出力(解凍されるファイルのリスト)を要求することを指示し、f はファイル名を指定することを指示します。

sudo tar -C /usr/local -xvf go1.16.7.linux-amd64.tar.gz

Go をインストールする推奨場所は /usr/local/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 バージョンを実行して go コマンドを実行できるかどうかを確認します。

go version

このコマンドは、システムにインストールされている Go の各バージョンのリリース番号を出力します。

Output
go 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 .
Output
Hello, World!

go run コマンドは、新しく作成した hello ディレクトリと入力したパスにある .go ソースファイルのリストから Go パッケージをコンパイルして実行します。ただし、go build を使用して実行ファイルを作成することもできます。これにより、時間を節約できます。.

ステップ4 – Goコードをバイナリ実行ファイルに変換する

go run コマンドは、頻繁に変更が必要なプログラムをコンパイルして実行するためのショートカットとしてよく使用されます。コードが完成し、毎回コンパイルせずに実行したい場合は、go build を使用してコードを実行可能バイナリに変換できます。コードを実行可能バイナリにビルドすると、プログラムとバイナリの実行に必要なすべてのサポートコードが1つのファイルにまとめられます。バイナリ実行可能ファイルをビルドしたら、go install プログラムを実行してプログラムを実行可能パスに配置し、システム上のどこからでも実行できるようにします。その後、プロンプトが表示されたときにプログラムは「Hello, World!」と正常に表示されるため、プログラムをコンパイルする必要がなくなります。.

試しに go build を実行してみてください。hello.go ファイルが保存されているディレクトリから実行してください。

go build

次に、./hello を実行して、コードが正しく動作していることを確認します。

./hello
Output
Hello, 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
Output
Hello, World!

「Hello, World!」の出力が表示された場合、サーバー上の指定されたパスと指定されていないパスから Go アプリケーションを正常に実行できるようになりました。.

結果

最新のGoパッケージをダウンロードしてインストールし、パスを指定するだけで、Go開発用のシステムが完成します。Goのインストールと使用に関する追加記事は、Goタグでご覧いただけます。また、購読もご検討ください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

あなたも気に入るかもしれない