2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【golang環境構築】Modulesでpackage管理をする

Last updated at Posted at 2019-07-23

【golang環境構築】とりあえずhello worldまで の続き。

goのpackage管理に何を使うか

2019年7月現在だとModulesで良さそう。
他の選択肢としてはdepがありますが、Modulesはgo1.11から導入が開始され、go1.13にてデフォルトで有効になります。
今後はModulesが標準になっていきそうなので特に理由なければModulesでいきましょう。

使い方

公式wiki

1. GO111MODULEをonにする

公式ではGOPATHの外でやれ、と書いていますが、$GO111MODULE=onにしてやればGOPATH内でも大丈夫です。
ちなみにgo1.13ではデフォルトでonになります。

.zshrc

export GO111MODULE=on

2. go mod init

プロジェクトディレクトリを作り、go mod initしましょう。
go.modが生成されます、npmでいうpackage.jsonです。

$ cd ~/workspace/go/src
$ mkdir hoge
$ cd hoge
$ go mod init hoge

3. コードを書く

$ vim hello.go
hello.go
package main

import (
    "fmt"
    "rsc.io/quote"
)

func main() {
    fmt.Println(quote.Hello())
}

4. buildする

あとはgo buildでOK。
それだけで自動的にモジュールのダウンロードもやってくれます。
また、ここでgo.sumというファイルが生成されます、npmでいうpackage-lock.jsonです。

$ go build
$ ./hoge
こんにちは世界。
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?