GoをインストールしてmacOSにローカルプログラミング環境をセットアップする方法
序章
Go は、Googleの欲求不満から生まれたプログラミング言語です。 開発者は、効率的に実行されるがコンパイルに長い時間がかかる言語を選択するか、プログラミングが容易であるが本番環境で非効率的に実行される言語を選択する必要がありました。 Goは、高速コンパイル、プログラミングの容易さ、本番環境での効率的な実行という3つすべてを同時に利用できるように設計されています。
Goは、さまざまなプログラミングプロジェクトに使用できる汎用性の高いプログラミング言語ですが、ネットワーキング/分散システムプログラムに特に適しており、「クラウドの言語」としての評判を得ています。 これは、現代のプログラマーが強力なツールセットを使用してより多くのことを行えるようにすること、フォーマットを言語仕様の一部にすることでフォーマットに関する議論を排除すること、および単一のバイナリにコンパイルすることで展開を容易にすることに焦点を当てています。 Goは非常に少数のキーワードで簡単に習得できるため、初心者にも経験豊富な開発者にも最適です。
このチュートリアルでは、ローカルのmacOSマシンにGoをインストールし、コマンドラインからプログラミングワークスペースを設定する方法について説明します。
前提条件
インターネットに接続された管理アクセス機能を備えたmacOSコンピュータが必要になります。
ステップ1—ターミナルを開く
インストールとセットアップのほとんどをコマンドラインで完了します。これは、コンピューターと対話するための非グラフィカルな方法です。 つまり、ボタンをクリックする代わりに、テキストを入力し、テキストを介してコンピューターからフィードバックを受け取ることになります。 シェルとも呼ばれるコマンドラインは、コンピューターで毎日実行するタスクの多くを変更および自動化するのに役立ち、ソフトウェア開発者にとって不可欠なツールです。
macOSターミナルは、コマンドラインインターフェイスにアクセスするために使用できるアプリケーションです。 他のアプリケーションと同様に、Finderに移動し、[アプリケーション]フォルダーに移動してから、[ユーティリティ]フォルダーに移動すると、アプリケーションを見つけることができます。 ここから、他のアプリケーションと同じようにターミナルをダブルクリックして開きます。 または、を押したままにしてSpotlightを使用することもできます CMD
と SPACE
表示されるボックスにターミナルを入力して、ターミナルを検索するためのキー。
より強力なことを実行できるようにするために学習するターミナルコマンドは他にもたくさんあります。 記事「[Linuxターミナルの概要]( an-introduction-to-the-linux-terminal )」では、macOSターミナルに似たLinuxターミナルの方向性を理解することができます。
ターミナルを開いたので、Goをインストールするために必要な開発者ツールのパッケージであるXcodeをダウンロードしてインストールできます。
ステップ2—Xcodeをインストールする
Xcodeは、macOS用のソフトウェア開発ツールで構成される統合開発環境(IDE)です。 ターミナルウィンドウに次のように入力すると、Xcodeがすでにインストールされているかどうかを確認できます。
- xcode-select -p
次の出力は、Xcodeがインストールされていることを意味します。
Output/Library/Developer/CommandLineTools
エラーが発生した場合は、Webブラウザに[AppStoreのXcode]をインストールしてください( https://itunes.apple.com/us/app/xcode/id497799835?mt=12&ign-mpt=uo%3D2 )そしてデフォルトのオプションを受け入れます。
Xcodeがインストールされたら、ターミナルウィンドウに戻ります。 次に、Xcodeの個別のコマンドラインツールアプリをインストールする必要があります。これは、次のように入力することで実行できます。
- xcode-select --install
この時点で、Xcodeとそのコマンドラインツールアプリが完全にインストールされ、パッケージマネージャーHomebrewをインストールする準備が整いました。
ステップ3—自作のインストールと設定
macOSターミナルにはLinuxターミナルやその他のUnixシステムの多くの機能がありますが、ベストプラクティスに対応するパッケージマネージャーは付属していません。 パッケージマネージャーは、ソフトウェアの初期インストール、ソフトウェアのアップグレードと構成、および必要に応じたソフトウェアの削除を含むインストールプロセスを自動化するために機能するソフトウェアツールのコレクションです。 インストールを中央の場所に保持し、システム上のすべてのソフトウェアパッケージを一般的に使用される形式で維持できます。 Homebrew は、macOSへのソフトウェアのインストールを簡素化する無料のオープンソースソフトウェアパッケージ管理システムをmacOSに提供します。
Homebrewをインストールするには、ターミナルウィンドウに次のように入力します。
- /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
HomebrewはRubyで作成されているため、コンピューターのRubyパスが変更されます。 The curl
コマンドは、指定されたURLからスクリプトをプルします。 このスクリプトは、それが何をするかを説明し、プロセスを一時停止して確認を求めます。 これにより、スクリプトがシステムに対して実行する内容について多くのフィードバックが得られ、プロセスを検証する機会が得られます。
パスワードを入力する必要がある場合、キーストロークはターミナルウィンドウに表示されませんが、記録されることに注意してください。 を押すだけです return
パスワードを入力したらキーを押します。 それ以外の場合は文字を押します y
インストールの確認を求められたら、「はい」の場合。
に関連付けられているフラグを見ていきましょう curl
指図:
- The
-f
また--fail
フラグは、サーバーエラーでHTMLドキュメント出力を提供しないようにターミナルウィンドウに指示します。 - The
-s
また--silent
フラグミュートcurl
プログレスメーターが表示されないように、-S
また--show-error
フラグを立てると、curl
失敗した場合はエラーメッセージを表示します。 - The
-L
また--location
フラグが教えてくれますcurl
要求されたページが別の場所に移動したことをサーバーが報告した場合に、要求を新しい場所にやり直すため。
インストールプロセスが完了すると、Homebrewディレクトリが上部に配置されます。 PATH
環境変数。 これにより、作成している開発環境に逆行する可能性のあるmacOSが自動的に選択するツールを介してHomebrewのインストールが呼び出されるようになります。
を作成または開く必要があります ~/.bash_profile
コマンドラインテキストエディタnanoでファイルを使用して nano
指図:
- nano ~/.bash_profile
ターミナルウィンドウでファイルが開いたら、次のように記述します。
export PATH=/usr/local/bin:$PATH
変更を保存するには、 CTRL
キーと文字 o
、プロンプトが表示されたら、 RETURN
鍵。 これで、を押し続けることでnanoを終了できます。 CTRL
キーと文字 x
.
ターミナルで以下を実行して、これらの変更をアクティブにします。
- source ~/.bash_profile
これを行ったら、あなたが行った変更は PATH
環境変数が有効になります。
次のように入力すると、Homebrewが正常にインストールされたことを確認できます。
- brew doctor
この時点で更新が必要ない場合、ターミナル出力は次のようになります。
OutputYour system is ready to brew.
そうしないと、次のような別のコマンドを実行するように警告が表示される場合があります。 brew update
Homebrewのインストールが最新であることを確認します。
Homebrewの準備ができたら、Goをインストールできます。
##ステップ4—Goのインストール
Homebrewを使用して、利用可能なすべてのパッケージを検索できます。 brew search
指図。 このチュートリアルでは、Go関連のパッケージまたはモジュールを検索します。
- brew search golang
注:このチュートリアルでは使用しません brew search go
返される結果が多すぎるためです。 なぜなら go
とても小さな言葉で、多くのパッケージに一致するでしょう、それは使用するのが一般的になりました golang
検索語として。 これは、インターネットでGo関連の記事を検索する場合にも一般的な方法です。 Golang という用語は、Goのドメインから生まれました。 golang.org
.
ターミナルは、インストールできるもののリストを出力します。
Outputgolang golang-migrate
Goはリストのアイテムの1つになります。 先に進んでインストールします。
- brew install golang
ターミナルウィンドウには、Goのインストールプロセスに関するフィードバックが表示されます。 インストールが完了するまでに数分かかる場合があります。
インストールしたGoのバージョンを確認するには、次のように入力します。
- go version
これにより、現在インストールされているGoの特定のバージョンが出力されます。これは、デフォルトで、利用可能なGoの最新の安定バージョンになります。
将来、Goを更新するには、次のコマンドを実行して、最初にHomebrewを更新し、次にGoを更新します。 最新バージョンをインストールしたばかりなので、今すぐこれを行う必要はありません。
- brew update
- brew upgrade golang
brew update
Homebrew自体の数式を更新し、インストールするパッケージの最新情報を確実に入手できるようにします。 brew upgrade golang
を更新します golang
パッケージの最新リリースへのパッケージ。
Goのバージョンが最新であることを確認することをお勧めします。
コンピューターにGoをインストールすると、Goプロジェクト用のワークスペースを作成する準備が整います。
ステップ5—Goワークスペースを作成する
Xcode、Homebrew、Goがインストールされたので、プログラミングワークスペースの作成に進むことができます。
Goワークスペースには、ルートに2つのディレクトリが含まれます。
src
:Goソースファイルを含むディレクトリ。 ソースファイルは、Goプログラミング言語を使用して作成したファイルです。 ソースファイルは、実行可能なバイナリファイルを作成するためにGoコンパイラによって使用されます。bin
:Goツールによってビルドおよびインストールされた実行可能ファイルを含むディレクトリ。 実行可能ファイルは、システム上で実行され、タスクを実行するバイナリファイルです。 これらは通常、ソースコードまたはダウンロードした別のGoソースコードによってコンパイルされたプログラムです。
The src
サブディレクトリには、複数のバージョン管理リポジトリ( Git 、 Mercurial 、 Bazaar など)が含まれる場合があります。 次のようなディレクトリが表示されます github.com
また golang.org
プログラムがサードパーティのライブラリをインポートするとき。 次のようなコードリポジトリを使用している場合 github.com
、プロジェクトとソースファイルもそのディレクトリに配置します。 これにより、プロジェクトにコードを正規にインポートできます。 Canonical インポートは、次のような完全に修飾されたパッケージを参照するインポートです。 github.com/digitalocean/godo
.
一般的なワークスペースは次のようになります。
.
├── bin
│ ├── buffalo # command executable
│ ├── dlv # command executable
│ └── packr # command executable
└── src
└── github.com
└── digitalocean
└── godo
├── .git # Git reposistory metadata
├── account.go # package source
├── account_test.go # test source
├── ...
├── timestamp.go
├── timestamp_test.go
└── util
├── droplet.go
└── droplet_test.go
1.8以降のGoワークスペースのデフォルトディレクトリは、ユーザーのホームディレクトリです。 go
サブディレクトリ、または $HOME/go
. 1.8より前のバージョンのGoを使用している場合でも、 $HOME/go
ワークスペースの場所。
次のコマンドを発行して、Goワークスペースのディレクトリ構造を作成します。
- mkdir -p $HOME/go/{bin,src}
The -p
オプションは教えます mkdir
すべてを作成するには parents
それらが現在存在しない場合でも、ディレクトリ内にあります。 使用する {bin,src}
次の引数のセットを作成します mkdir
両方を作成するように指示します bin
ディレクトリと src
ディレクトリ。
これにより、次のディレクトリ構造が確実に配置されます。
└── $HOME
└── go
├── bin
└── src
Go 1.8より前は、というローカル環境変数を設定する必要がありました。 $GOPATH
. 明示的にそうする必要はなくなりましたが、多くのサードパーティツールが設定されているこの変数に依存しているため、それでも良い習慣と見なされます。
あなたはあなたを設定することができます $GOPATH
あなたにそれを追加することによって ~/.bash_profile
.
まず、開く ~/.bash_profile
と nano
またはお好みのテキストエディタ:
- nano ~/.bash_profile
あなたの $GOPATH
ファイルに以下を追加します。
export GOPATH=$HOME/go
Goがツールをコンパイルしてインストールすると、ツールは $GOPATH/bin
ディレクトリ。 便宜上、ワークスペースを追加するのが一般的です /bin
あなたのサブディレクトリ PATH
あなたの中で ~/.bash_profile
:
export PATH=$PATH:$GOPATH/bin
これで、次のエントリが作成されます。 ~/.bash_profile
:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
これにより、システム上の任意の場所でGoツールを介してコンパイルまたはダウンロードしたプログラムを実行できるようになります。
シェルを更新するには、次のコマンドを発行して、作成したグローバル変数をロードします。
- . ~/.bash_profile
あなたはあなたの $PATH
を使用して更新されます echo
コマンドと出力の検査:
- echo $PATH
あなたはあなたを見る必要があります $GOPATH/bin
これはホームディレクトリに表示されます。 としてログインした場合 sammy
、あなたは見るでしょう /Users/sammy/go/bin
パスで。
Output/Users/sammy/go/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
これで、ワークスペースのルートが作成され、 $GOPATH
環境変数セットを使用すると、次のディレクトリ構造で将来のプロジェクトを作成できます。 この例では、リポジトリとしてgithub.comを使用していることを前提としています。
$GOPATH/src/github.com/username/project
https://github.com/digitalocean/godo プロジェクトで作業している場合は、次のディレクトリに配置します。
$GOPATH/src/github.com/digitalocean/godo
この方法でプロジェクトを構造化すると、プロジェクトが利用可能になります go get
道具。 また、後で読みやすくなります。
これを確認するには、 go get
をフェッチするコマンド godo
図書館:
- go get github.com/digitalocean/godo
正常にダウンロードされたことがわかります godo
ディレクトリを一覧表示してパッケージ化します。
- ls -l $GOPATH/src/github.com/digitalocean/godo
次のような出力が表示されます。
Output-rw-r--r-- 1 sammy staff 2892 Apr 5 15:56 CHANGELOG.md
-rw-r--r-- 1 sammy staff 1851 Apr 5 15:56 CONTRIBUTING.md
.
.
.
-rw-r--r-- 1 sammy staff 4893 Apr 5 15:56 vpcs.go
-rw-r--r-- 1 sammy staff 4091 Apr 5 15:56 vpcs_test.go
このステップでは、Goワークスペースを作成し、必要な環境変数を構成しました。 次のステップでは、いくつかのコードを使用してワークスペースをテストします。
ステップ6—簡単なプログラムを作成する
Goワークスペースを設定したので、次は簡単な「Hello、World!」を作成します。 プログラム。 これにより、ワークスペースが機能していることを確認し、Goに慣れることができます。
実際のプロジェクトではなく、単一のGoソースファイルを作成しているため、これを行うためにワークスペースにいる必要はありません。
ホームディレクトリから、次のようなコマンドラインテキストエディタを開きます。 nano
、および新しいファイルを作成します。
- nano hello.go
ターミナルでテキストファイルが開いたら、プログラムを入力します。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
次のように入力してnanoを終了します control
と x
キーを押し、ファイルを保存するように求められたら、 y
.
このコードは fmt
パッケージ化して、 Println
で機能する Hello, World!
引数として。 これはフレーズを引き起こします Hello, World!
プログラムの実行時に端末に出力します。
終了したら nano
シェルに戻り、プログラムを実行します。
- go run hello.go
The hello.go
作成したばかりのプログラムにより、Terminalは次の出力を生成します。
OutputHello, World!
このステップでは、基本的なプログラムを使用して、Goワークスペースが適切に構成されていることを確認しました。
結論
おめでとう! この時点で、ローカルのmacOSマシンにGoプログラミングワークスペースがセットアップされ、コーディングプロジェクトを開始できます。