ブログに戻る

Goプログラムのビルドとインストール

Goプログラムのビルドとインストール

Goは静的に型付けされたプログラミング言語です。元々Googleによって設計されたGoは、構文の面でCと類似点があります。しかし、機能面では、Goにはメモリ安全性、ガベージコレクション、構造的型付けなどの追加機能が備わっています。ここ数年、Goは驚異的な人気を集めています。

このガイドでは、デモ用のGoプログラムを使用して、Goプログラムのビルドとインストールの手順を説明します。

Goのビルドとインストール

先に進む前に、Goプログラミングにおけるビルドとインストールが何を意味するのか、簡単に説明します。

Goプログラミングにおいて、ビルドとはソースコードをバイナリ実行ファイルに変換するプロセスを指します。実行ファイルには、ターゲットプラットフォーム上で独立して実行できるように、必要なサポートコードが含まれます。Ruby/Pythonプログラムとは異なり、Goのバイナリは通常、新しいシステムで実行するためにシステム依存関係を必要としません。

Goバイナリをシステムの実行可能ファイルパスに配置することを、プログラムのインストールと呼びます。前述のように、このガイドでは、シンプルなGoの「Hello world」プログラムの実行、ビルド、およびインストールについて説明します。

前提条件

始める前に、チュートリアルを進めるために満たす必要がある前提条件を確認しましょう。

まず、Goプログラミング環境のインストールと設定について簡単に説明します。より詳細なステップバイステップのGoのインストールガイドはこちらをご覧ください.

Goのインストール

Goは、すべての主要なプラットフォーム(Windows、Linux、およびmacOS)で利用できます。公式には、以下から直接入手できます:Golang。ウェブサイトの名前から、GoはしばしばGolangと呼ばれます。ここでは、プログラミング言語としてのGoを「Go」、Golangのウェブサイトを「Golang」と呼びます。

Golangは、以下に関する詳細なドキュメントを提供しています:サポートされているすべてのプラットフォームへのGoのインストール。ただし、公式の方法は手動インストールについて説明しています。新しいバージョンがリリースされるたびに、手動でインストールを最新バージョンにアップデートする必要があります。代わりに、APT(デフォルトのUbuntuリポジトリから)またはsnap(以下から)を使用してGoを直接インストールできます:Snapcraft).

●     APTを使用したGoのインストール

Goは公式のUbuntuリポジトリから直接入手できます。ただし、常に最新バージョンのGoであるとは限りません。Ubuntuリポジトリからは、次の2つのバリエーションのGoも利用できます。 golang-go および gccgo-gogolang-go はGolangの公式バージョンですが、 gccgo-goGCC用のGoフロントエンド(GNUコンパイラの一部として) です。一般的には、 golang-go が推奨されます。

インストールするには、 golang-go、次のAPTコマンドを実行します:

Go Programs apt update and go install

Goのバージョンを確認します:

go version
●     snapを使用したGoのインストール

Snapは、サポートされている任意のディストリビューションにインストールできるユニバーサルLinuxパッケージです。Snapcraftには、すべてのサポートされているディストリビューションとインストールガイドが掲載されています。Ubuntuでは、デフォルトでsnapサポートが有効になっています。Goはsnapとしても利用可能です。ただし、Golangによって公式にメンテナンスされているわけではないことに注意してください。snapパッケージはサードパーティのプロバイダーによって管理されています。

Goのsnapをインストールするには、次のコマンドを実行します:

snap install go

次に、Goのバージョンを確認します:

snap go version

Goプロジェクトのセットアップ

システムには、Goでアプリ開発を開始するために必要なすべてのツールが揃っています。デモプロジェクトを作成しましょう。まず、プロジェクト専用のディレクトリを作成します:

mkdir demo_project

次に、カレントディレクトリを新しく作成したディレクトリに変更します:

cd demo_project

ここで、次の名前の新しいテキストファイルを作成します。 main.go:

次のコードは、実行すると「Hello world」を出力するシンプルなプログラムです。コードをコピーしてください:

Go Programs nano main_go

ファイルを保存してエディタを閉じます。コードが正常に動作していることを確認します。

run main_go

Goコンパイラはソースファイルをバイナリファイルにビルドして実行しました。また、プログラムが正常に動作していることも確認します。

Goワークスペースの設定

Goプログラムを適切にインストールするには、GoワークスペースとGOPATHを設定する必要があります。

まず、ディレクトリ構造を作成します。

mkdir bin src

次に、以下の値を宣言する必要があります。 GOPATH そして、それを以下に追加します。 PATH。以下を開きます。 bashrc ファイル:

Go Programs nano bashrc

ファイルの末尾に次の行を追加します。

Go Programs nano bashrc modified

以下を再読み込みします。 bashrc:

変更が成功したかどうかを確認します。

path variable

Goバイナリのビルド

このセクションでは、Goコードを配布可能なスタンドアロンのバイナリファイルにコンパイルする方法を説明します。バイナリには、Goコードだけでなく、バイナリを実行するための追加のシステムコードも含まれます。コードをコンパイルするには、次のコマンドを実行します。

build main_go

複数のGoコードファイルがある場合は、次のコマンドを使用します。

ファイルが指定されていない場合、Goは現在のディレクトリ内のGoファイルを検索し、それらすべてをコンパイルします。各バイナリファイルの名前は、そのソースGoファイルにちなんで付けられます。この例では、Goはプログラムをビルドしました。 main。プログラムを実行します。

run main binary

このプログラムは、他のコンピュータに配布する準備ができています。

●     バイナリ名の変更

ビルドする際、Goは実行可能ファイルの名前を自動的に選択します。名前の選択に関しては、2つのオプションがあります。

  • もし Go modules が使用されている場合、実行可能ファイルはモジュール名の最後の部分を使用します。
  • Goモジュールが使用されていない場合、Goは現在のディレクトリの名前またはソースファイルの名前を使用します。

より複雑なプログラムを扱う場合は、異なる命名規則が必要になります。そのようなシナリオでは、これらのデフォルトの命名方法はあまり役に立ちません。このような状況では、フラグを使用して出力をカスタマイズするのが最善の方法です。 -o。簡単なデモンストレーションを行ってみましょう。フラグを使用してGoプログラムをビルドします。 -o 別のファイル名を指定します。

build binary with different name

この -o フラグは、出力を指定された引数に一致させるようGoに指示します。この場合、実行可能ファイルはディレクトリの下に配置されます。 bin 名前は hello.

次に、新しい実行可能ファイルをテストします。

bin hello_go

Goプログラムのインストール

これまでに、ソースファイルから配布可能なGoバイナリをビルドする方法を説明しました。これらは他のシステムに配布し、デプロイしてテストを実行できます。ただし、ソースディレクトリの外では実行できません。プログラムを積極的に使用する予定がある場合、この制約は非常に煩わしいものになります。作業を簡単にするために、Goプログラムをインストールして、システム全体のどこからでもアクセスできるようにすることができます。

プログラムをインストールするには、ソースディレクトリで次のGoコマンドを実行します。

go install

このコマンドは、以下と同じように動作します。 go build。ただし、実行可能ファイルをソースディレクトリに残す代わりに、次のディレクトリに配置されます。

変数 GOPATH および GOBIN は、Goワークスペースを探す場所をGoに指示します。 GOPATH のデフォルトは、次の場所です。 $HOME/go。手動で設定しました。 GOBIN を以下に設定します。 $GOPATH/bin。以下の場所を確認するには、 GOPATH および GOBIN 次のコマンドを使用します。

go env path

以下の内容を確認します。 $GOPATH/bin。プログラムがそこにあるはずです。

ls go path

インストールが成功したかどうかを確認します。現在のディレクトリを別の場所に変更し、Goプログラムを実行してみます。

Go Programs check installation by running binary

最後に、プログラムをシステムにインストールできるようになります。必要なときに、どこからでもそれらを使用できます。

最後に

このチュートリアルでは、Goツールチェーンを使用してソースコードから実行可能なバイナリをビルドする方法を説明しました。これらのバイナリは、Goの設定が一切ない他のシステムでも使用できます。最後に、Goプログラムをインストールして、システム内のどこからでも利用できるようにする方法を説明しました。

開発者向けに、CloudSigmaはGo APIサポートを提供しています。これにより、クラウドサーバーの管理、リソースの編集、およびインフラストラクチャのスケーリングが可能になります。

ハッピーコンピューティング!

author

Pranay Kapgate

著者 · CloudSigma

Preslav DobrevはCloudSigmaのクリエイティブデザイナーであり、従来型および革新的なマーケティングチャネルを活用した一貫性のあるビジネスアイデンティティに注力しています。彼は芸術的なビジョンと戦略的マーケティングを融合させ、インパクトのあるブランドナラティブを生み出すことに長けています。

コメント

コメントはまだありません。最初のコメントを投稿しましょう。