Go
1 $GOPATH=/Users/me/coding/go
Go
1 go - 2 | - bin 3 | - src 4 | 5 - goland 6 | 7 - lib 8 | - math.go 9 - main.go 10 | - pkg
上記のように$GOPATHを設定し, 上記のような構成になっています。
Go
1// main.go 2 3package main 4 5import ( 6 "fmt" 7 "goland/lib" 8) 9 10func main() { 11 s := []int{1, 2, 3, 4, 5} 12 fmt.Println(lib.Average(s)) 13 14 person := lib.Person{Name: "taro", Age: 20} 15 fmt.Println(person) 16} 17
Go
1// math.go 2 3package lib 4 5type Person struct { 6 Name string 7 Age int 8} 9 10func Average(s []int) int { 11 total := 0 12 for _, i:= range s { 13 total += i 14 } 15 return int(total/len(s)) 16}
こちらで実行しても,
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を変えていますが、昨日までは実行はできていたので関係ないかもしれません。**
回答1件
あなたの回答
tips
プレビュー