我正在尝试遵循 Thorsten Ball 的用 Go 编写解释器一书,在第一章中他建立了这个简单的方案
file /Users/myuser/projects/monkey/token/token.go
file /Users/myuser/projects/monkey/lexer/lexer.go
file /Users/myuser/projects/monkey/lexer/lexer_test.go
在 lexer/lexer.go 和 lexer/lexer_test.g 文件开始为
package lexer
在 lexer_test.go 中,导入是
import (
"testing"
"monkey/token"
)
然后他说为了运行测试,我必须运行(从 /Users/myuser/projects/monkey 目录):
go test lexer/lexer_test.go
但是当我这样做时,我收到错误:
lexer/lexer_test.go:6:2: cannot find package "monkey/token" in any of:
/usr/local/opt/go/libexec/src/monkey/token (from $GOROOT)
/Users/myuser/golang/src/monkey/token (from $GOPATH)
FAIL command-line-arguments [setup failed]
FAIL
我一直在尝试了解如何在 go 中配置包,但是我发现了很多关于 GOPATH、GOROOT 和 go.mod 的非常复杂的文档。我一直在尝试所有这些方法而没有摆脱这个问题。
有人能帮助我吗?我确定这是一个简单的修复,但我无法弄清楚:(