Go:无法在符号链接中打包
Go: cannot package in symlink
我有一个一次性的项目。在这个项目中,例如我有一个 lib_project
是指向另一个目录的符号链接,例如:github_project
拉取源代码到本地后,我更新另一个git个子模块(github_project
是一个子模块)。然后我去这里编译项目。
之后,我转到我的主项目并尝试 运行 命令 go。我遇到异常:
package github.com/main_project/test.go: cannot find package "github.com/main_project/lib_project/some_random_file.go" in any of:
/usr/local/Cellar/go/1.7.1/libexec/src/github.com/main_project/lib_project/some_random_file.go (from $GOROOT)
/Users/my_user/Documents/go/src/github.com/main_project/lib_project/some_random_file.go (from $GOPATH)
我测试了一下,目录github.com/main_project/lib_project/some_random_file.go
已经存在了。我可以 cd 到这个并打开文件。看起来 Go 无法识别符号链接文件夹(在本例中是 lib_project
)
Go 工具故意不遵循符号链接。确保你的 GOPATH 中没有任何内容,并且始终使用相对于 $GOPATH/src/
的完整导入路径安装包,并使用相对于 vendor/
目录的 vendored 包。
我有一个一次性的项目。在这个项目中,例如我有一个 lib_project
是指向另一个目录的符号链接,例如:github_project
拉取源代码到本地后,我更新另一个git个子模块(github_project
是一个子模块)。然后我去这里编译项目。
之后,我转到我的主项目并尝试 运行 命令 go。我遇到异常:
package github.com/main_project/test.go: cannot find package "github.com/main_project/lib_project/some_random_file.go" in any of:
/usr/local/Cellar/go/1.7.1/libexec/src/github.com/main_project/lib_project/some_random_file.go (from $GOROOT)
/Users/my_user/Documents/go/src/github.com/main_project/lib_project/some_random_file.go (from $GOPATH)
我测试了一下,目录github.com/main_project/lib_project/some_random_file.go
已经存在了。我可以 cd 到这个并打开文件。看起来 Go 无法识别符号链接文件夹(在本例中是 lib_project
)
Go 工具故意不遵循符号链接。确保你的 GOPATH 中没有任何内容,并且始终使用相对于 $GOPATH/src/
的完整导入路径安装包,并使用相对于 vendor/
目录的 vendored 包。