CentOS 7にGo 1.7をインストールする方法

前書き

Goは、しばしばgolangと呼ばれ、Googleによって開発されたオープンソースのプログラミング言語です。 開発には最小限のアプローチを採用し、シンプルで信頼性の高い効率的なソフトウェアを簡単に構築できます。 このチュートリアルでは、CentOS 7サーバーでGo 1.7をダウンロードしてインストールし、基本的な「Hello、World!」プログラムをコンパイルして実行する方法を説明します。

前提条件

このチュートリアルを実行する前に、sudo権限を持つ通常のroot以外のユーザーがいることを確認してください。 これらの権限を持つユーザーを設定する方法の詳細については、ガイドHow To Create a Sudo User on CentOS
を参照してください。

[[step-1 -–- downloading-go]] ==ステップ1-Goのダウンロード

2016年9月の時点で、CentOSのデフォルトリポジトリ内のgolangパッケージは最新ではありません。 その結果、Go websiteから直接パッケージを手動でダウンロードします。 64ビットアーキテクチャと互換性のある最新バージョンのリンクを必ずコピーしてください。

書き込み可能なディレクトリに移動することから始めます。

cd /tmp

curlコマンドとGoからのリンクを使用してtarballをダウンロードします。

curl -LO https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz

tarballは本物のソースからのものですが、インターネットからダウンロードしたアイテムの信頼性と整合性の両方を検証することをお勧めします。 この検証方法は、ダウンロードプロセス中にファイルが改ざんされたり、破損または破損したりしていないことを証明します。 -a 256フラグを指定したshasumコマンドは、一意の256ビットハッシュを生成します。

shasum -a 256 go1.7*.tar.gz
Output702ad90f705365227e902b42d91dd1a40e48ca7f67a2f4b2fd052aaa4295cd95  go1.7.linux-amd64.tar.gz

出力のハッシュをGodownload pageのチェックサム値と比較します。 それらが一致する場合、ダウンロードが正当であると結論付けるのは安全です。

Goをダウンロードし、ファイルの整合性を検証したら、インストールを続行します。

[[step-2 -–- installing-go]] ==ステップ2–Goのインストール

Goのインストールは、tarballを/usr/localディレクトリに抽出することで構成されます。 -Cフラグを指定してtarコマンドを使用すると、コンテンツが指定されたディレクトリに保存されます。 -xフラグは抽出機能を実行し、-vは詳細出力を生成し、-zgzip圧縮ユーティリティを介してアーカイブをフィルタリングし、-fは指定されたものを通知しますアクションを実行するファイル名:

sudo tar -C /usr/local -xvzf go1.7.linux-amd64.tar.gz

[.note]#Note:発行者は、Goを/usr/localディレクトリに配置することを公式に推奨しています。 別の場所にインストールしても使いやすさには影響しませんが、カスタムパスはGo環境変数GOROOTで定義する必要があります。 次のステップでは、環境変数の操作について説明します。

次に、ユーザーのホームディレクトリの下に、binsrc、およびpkgの3つの子ディレクトリを含むGoワークスペースを作成します。 binディレクトリには、srcディレクトリ内の人間が読める形式のソースファイルからコンパイルされた実行可能プログラムが含まれます。 このチュートリアルではpkgディレクトリを使用しませんが、より高度なプログラムを作成するときに役立つため、このディレクトリを設定することをお勧めします。 pkgディレクトリには、プログラム間で共有される再利用可能なコードであるパッケージオブジェクトが格納されます。

ワークスペースディレクトリをprojectsと呼びますが、任意の名前を付けることができます。 mkdirコマンドの-pフラグは、適切なディレクトリツリーを作成します。

mkdir -p ~/projects/{bin,pkg,src}

この時点で、Goを使用するには、コマンドラインでインストール場所へのフルパスを指定する必要があります。 Goとの対話をよりユーザーフレンドリーにするために、いくつかのパスを設定します。

[[step-3 -–- setting-paths-for-go]] ==ステップ3–Goのパスを設定する

他のコマンドと同じようにGoを実行するには、インストール場所を$PATH変数に追加する必要があります。 Goはシステムディレクトリにインストールされたため、環境変数をグローバルに設定します。

viエディターを使用して、/etc/profile.dディレクトリーにpath.shスクリプトを作成します。

sudo vi /etc/profile.d/path.sh

ファイルに次を追加し、保存して終了します。

/etc/profile.d/path.sh

export PATH=$PATH:/usr/local/go/bin

[.warning]#Warning: Goが別の場所にインストールされている場合は、それに応じてパスを調整します。

さらに、ユーザーの.bash_profileファイルでGOPATHおよびGOBIN Go環境変数を定義して、最近作成されたワークスペースを指すようにします。 GOPATH変数はGoにソースファイルの場所を指示し、GOBIN変数はコンパイルされたバイナリファイルを作成する場所を指示します。

.bash_profileファイルを開きます。

vi ~/.bash_profile

ファイルの最後に次を追加し、保存して終了します。

~/.bash_profile

. . .
export GOBIN="$HOME/projects/bin"
export GOPATH="$HOME/projects/src"

[。警告]##

Warning:手順2で説明したように、Goが/usr/localディレクトリにインストールされていない場合は、GOROOT変数も定義します。

~/.bash_profile

. . .
export GOROOT="/path/to/go"


現在のBASHセッションに変更を適用するには、sourceコマンドを使用して更新されたプロファイルを再ロードします。

source /etc/profile && source ~/.bash_profile

Goのコアが整ったら、短いプログラムを作成してセットアップが機能することを確認しましょう。

[[step-4 -–- creating-a-program]] ==ステップ4–プログラムの作成

最初のプログラムを作成すると、環境が機能し、Goプログラミング言語に慣れる機会が得られます。

開始するには、新しい.goファイルを作成します。

vi ~/projects/src/hello.go

以下のコードは、メインのGoパッケージを使用し、フォーマットされたIOコンテンツコンポーネントをインポートし、文字列Hello, World!を出力する新しい関数を設定します。 ファイルに次を追加します。

~/projects/hello.go

package main

import "fmt"

func main() {
    fmt.Printf("Hello, World!\n")
}

次に、ファイルを保存して終了します。

次に、go installコマンドを使用してhello.goソースファイルをコンパイルします。

go install $GOPATH/hello.go

これでプログラムを実行する準備ができました。

$GOBIN/hello

hello.goプログラムは、Go。
のインストールが成功したことを確認するHello, World!メッセージを生成する必要があります。

結論

シンプルな「Hello、World!」プログラムは、Go開発環境があることを確立しました。 典型的なアプリケーションは、ライブラリとリモートパッケージを使用します。 これらの追加コンポーネントの操作の詳細については、How to Write Go Codeの公式ドキュメントを確認してください。