非常に具体的な問題を解決するための記事です。
バージョン
$ go version
go version go1.18.3 darwin/amd64
問題点
-
~/SOME/PATH/monkey/tokenの用にフォルダを作成する(自分の場合は~/program/go/interpreter/monkey/tokenとしている) -
go mod init github.com.....としたらダメだった
$ go test ./lexer
# github.com/yojiyama7/go_interpreter/lexer
lexer/lexer_test.go:5:2: package monkey/token is not in GOROOT (/usr/local/go/src/monkey/token)
FAIL github.com/yojiyama7/go_interpreter/lexer [setup failed]
FAIL
解決策
-
go.modファイルを削除して、 -
monkeyディレクトリでgo mod init monkeyとする - このような内容の
go.modができる
module monkey
go 1.18
DONE
-
monkeyディレクトリでgo test ./lexerが動いた
$ go test ./lexer
# monkey/lexer [monkey/lexer.test]
lexer/lexer_test.go:12:25: undefined: token.TokenType
lexer/lexer_test.go:26:7: undefined: New
FAIL monkey/lexer [build failed]
FAIL