version
1 2 |
$ go version go version go1.15.6 linux/amd64 |
directory tree
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
~/golang # Go lang └── src/pkg-local -> ~/go/pkg-local # symbolic link ~/go ├── bin # go のツール群 │ ├── app1 # プロジェクトのトップディレクトリー │ ├── go.mod # `$ go mod init app1` で生成 `module app1` │ ├── app1 # build した 実行ファイル │ ├── main.go # `package main` │ ├── functions.go # `package main` │ └── sub # `app1` 専用パッケージ `sub`, `go.mod` は不要 │ └── functions.go # `package sub`, `import app1/sub` として読み込む │ ├── pkg # `$ go get package-name` or `$ go build` としてインストールしたパッケージ │ └── pkg-local # ローカルパッケージ `~/go/app1/go.mod` で `replace pkg-local.localhost => ../pkg-local` と定義 ├── go.mod # 空のファイル └── pkg1 # `import pkg-local/pkg1` として読み込む └── functions.go # `package pkg1` |
.bashrc
1 2 3 |
export PATH=$PATH:$HOME/golang/bin export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin |
$HOME/go/app1/go.mod
1 2 3 4 |
$ cd $HOME/go/app1 $ go mod init app1 $ code go.mod $ ln -s `go env GOPATH`/pkg-local `go env GOROOT`/src |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
module app1 go 1.15 // ln -s `go env GOPATH`/pkg-local `go env GOROOT`/src // import "pkg-local/sub" replace pkg-local.localhost => ../pkg-local require ( github.com/BurntSushi/toml v0.3.1 // indirect github.com/araddon/dateparse v0.0.0-20201001162425-8aadafed4dc4 github.com/davecgh/go-spew v1.1.1 // indirect github.com/gocarina/gocsv v0.0.0-20201208093247-67c824bc04d4 github.com/kr/text v0.2.0 // indirect github.com/mattn/go-sqlite3 v2.0.3+incompatible github.com/rakyll/statik v0.1.7 github.com/zserge/lorca v0.1.9 golang.org/x/net v0.0.0-20201224014010-6772e930b67b gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect ) |
$HOME/go/pkg-local/go.mod
1 2 3 |
module pkg-local go 1.15 |
update
1 |
$ go get -u |
cleans up these unused dependencies
1 |
$ go mod tidy |
see
- https://blog.golang.org/using-go-modules
- https://qiita.com/propella/items/e49bccc88f3cc2407745