前提条件
今回の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文字目が大文字の制約)