fbpx
  1. HOME
  2. ブログ
  3. IT技術
  4. 【第8回】Go言語(Golang)入門~環境見直し編~

【第8回】Go言語(Golang)入門~環境見直し編~

Go言語(Golang)入門~第8回目~

秋山笹川先生

(株)ライトコードの笹川(ささがわ)です!

前回は、TwitterAPI を利用し、HTMLテンプレートでエゴサーチの結果を表示しました。

今回は、なんと、Goの環境やパッケージ管理を見直していきます!

それでは、いってみましょう!

前回の記事はこちら

環境の見直し

1回目の記事を書いた際に、弊社のメンバーから

「どうせだったら brew とか goenv で導入してみればよかったのに」

…というお言葉を頂いたので、折角なので、goenv で go の環境構築をやりなおしてみることにしました。

goenvとは

goenvとは、rbenv をベースとしたGo言語(Golang)のバージョン管理ツールです。

brew経由でインストールでき、バージョンを指定してインストール出来ることから、チーム開発や複数の環境での開発をしたいときに有用です。

goenvを導入してみよう

Go言語(Golnag)のバージョン1.13は、2019/10/2時点で、goenv の master には入っていないようなので、–HEADをつけてインストールします。

PATHを通す

PATH を通します。

ターミナルで PATH を読み直します。

インストール

Go言語(Golnag)のバージョン1.13をインストールします。

端末全体で使う Go言語(Golang)のバージョンを1.13に指定します。

GOPATH 等は、第1回目で設定したものと同じなので割愛します。

これで、goenv の導入は完了です。

なお、インストーラー経由でインストールしたものを、アンインストールしたい場合はこちらのドキュメントを参考にしてください。

第1回目の記事はこちら

パッケージ管理見直し

1回目の記事を書いた際に、こんな「はてなブックマークのコメント」を頂きました。

【第1回】Go言語(Golang)入門~環境構築編~ – 株式会社ライトコード

Go 1.13を使うなら、depではなくて標準のGo Modulesを使ってみては?

2019/09/14 02:59

なので、今回はパッケージ管理ツールを、dep から Go Modules に変更してみたいと思います。

depを削除する

まずは、Gopkg.toml と Gopkg.lock を削除します。

次に、vender ディレクトリを削除します。

dep のアンインストールをします。

これで、dep の削除は完了しました。

下記のようにコメントを頂きましたので、もしかするとここの手順は不要かもしれません。

dep→Go modulesはgo mod initでGopkg.*を見て移行してくれるからdep削除の前にinitしたほうが楽かもしれない。2019/10/31

 

Go Modulesを入れてみよう

ターミナルで main.go がある場所まで移動し、Go Modules の初期化を実行します。

main.go のあるディレクトリ内に go.mod というファイルが作成できていたら成功です。

次に、main.go に簡単な処理を記述します。

Go Modules は、dep と異なり、 go build コマンドでパッケージを導入してくれますので、 go build コマンドを実行します。

main.go のあるディレクトリに main というファイルが出来ていたら成功です。

実行

それでは、main.go を実行してみましょう。

成功したようです。

このまま、以前に作成したhello.goの処理を呼び出してみます。

main.go に処理を記述したら実行してみます。

無事に呼び出しができました!

環境構築用のシェルで作ってみよう

複数の環境での goenv を利用することで開発環境構築が容易になったので、環境構築用のシェルファイルを作成してみたいと思います。

setup.sh を作成し、まずはいつもの定型文を追加します。

ディレクトリ作成

次に、作業用のディレクトリを作成します。

goenvのインストールとPATH設定

ディレクトリ作成後は、先述の通りに goenv のインストールと PATH設定をします。

GOPATHを通す

次に、GOPATH を通します。

リポジトリからclone

GOPATH を通したら、リポジトリから clone します。

実行

clone が終わったら、main.go を実行します。

まとめたものはこちらの setup.sh になります。

これで、シェルの作成は完了となります。

Go言語(Golang)の実行環境がない端末で下記を実行すると Hello, World と表示されるはずです。

おわりに

今回は、環境の見直しで Go言語(Golang)を、パッケージからではなく、goenv 経由でインストールしました。

バージョン管理については、使うコマンドとしては差異はあるものの、明らかに開発効率が悪くなることもないので、今後も Go Modules を利用して行きたいと思います。

なお、今回作成した goファイルは、こちらのリポジトリにて管理しています。

関連記事

ライトコードよりお知らせ

にゃんこ師匠にゃんこ師匠
システム開発のご相談やご依頼はこちら
ミツオカミツオカ
ライトコードの採用募集はこちら
にゃんこ師匠にゃんこ師匠
社長と一杯飲みながらお話してみたい方はこちら
ミツオカミツオカ
フリーランスエンジニア様の募集はこちら
にゃんこ師匠にゃんこ師匠
その他、お問い合わせはこちら
ミツオカミツオカ
   
お気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

書いた人はこんな人

笹川 (社員)
笹川 (社員)
新潟生まれ新潟育ち本業はモバイルアプリエンジニア。
日々、猫(犬)エンジニアとして活躍中!

関連記事