Go
$GOPATH=/Users/me/coding/go
Go
go - | - bin | - src | - goland | - lib | - math.go - main.go | - pkg
上記のように$GOPATHを設定し, 上記のような構成になっています。
Go
// main.go package main import ( "fmt" "goland/lib" ) func main() { s := []int{1, 2, 3, 4, 5} fmt.Println(lib.Average(s)) person := lib.Person{Name: "taro", Age: 20} fmt.Println(person) }
Go
// math.go package lib type Person struct { Name string Age int } func Average(s []int) int { total := 0 for _, i:= range s { total += i } return int(total/len(s)) }
こちらで実行しても,
main.go:9:2: package goland/lib is not in GOROOT (/opt/homebrew/Cellar/go/1.17.3/libexec/src/goland/lib)
と表示されてしまいます。
何が原因なのか色々調べてみましたが、解決出来ないので質問させて頂きました。
宜しくお願い致します。
追記
- (失敗する)実行時の手順またはコマンドライン -> golandディレクトリにて, go run main.go の実行
- その時のカレントフォルダ -> ~/coding/go/src/goland
- go version出力 -> go version go1.17.3 darwin/arm64
- 意図的に変更している環境変数などあれば -> **printenv, .zshrcファイルも確認しても, goに関する直接変更している部分は$GOPATHのみだと思います。
PATH, zshを変えていますが、昨日までは実行はできていたので関係ないかもしれません。**
まだ回答がついていません
会員登録して回答してみよう