質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

解決済

【Go】package goland/lib is not in GOROOT と出て実行も出来ず, パッケージが上手く読み込めない

nyako
nyako

総合スコア35

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

1回答

0評価

0クリップ

842閲覧

投稿2021/12/23 02:53

編集2021/12/23 06:36

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を変えていますが、昨日までは実行はできていたので関係ないかもしれません。**

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

melian

2021/12/23 02:57

念の為に確認させていただきたいのですけれども、ディレクトリ構成図では goland/mylib となっています。これは goland/lib の間違いでしょうか?
nyako

2021/12/23 04:16 編集

早速のお返事ありがとうございます。 goland/lib が正しいです。間違えてました。 ただコードは正しく同様のエラーのままです。
nobonobo

2021/12/23 06:20 編集

- (失敗する)実行時の手順またはコマンドライン - その時のカレントフォルダ - go version出力 - 意図的に変更している環境変数などあれば 以上4点を追記してください。
nyako

2021/12/23 06:35

nobonobo様 ありがとうございます。 追記をさせて頂きました。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。