LoginSignup
1

More than 1 year has passed since last update.

Goで package ... is not in GOROOT エラーが発生した時の自己解決備忘録

Last updated at Posted at 2022-09-15

前提条件

今回のgoバージョン

  • golang:1.19.1-alpine (dockerイメージ)

参考にしたサイト

上記のサイトより、二つの挙動があることがわかった。

  • GOPATHモード
  • モジュールモード

現在のモードを調べる

なんでも良いので外部のライブラリをimport文に含めて、go runを行う。(go getしない)

~~.go
import (
    "go.mongodb.org/mongo-driver/mongo"
)

エラー文に ~~/scr/~~のパスが表示された場合、同じ解決策が通用するかもしれない。

解決方法

ターミナル
$ go mod tidy

補足

多くのwebページで go.modファイルにreplaceを利用する例が多かったが、不要だった。

importのモジュール名は以下のURLで以下を参考すると良いと思います。

  • ディレクトリ構成(go.modと並列に置かれたgoファイル)
  • go.mod中の module名

+a

自分もこんなミスしたので置いておく。(外部から読み出せる名前は1文字目が大文字の制約)

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
1