git - Go:无法在符号链接(symbolic link)中打包

标签 git go symlink git-submodules

我有一个一次性的项目。在这个项目中,例如我有一个 lib_project 是到另一个目录的符号链接(symbolic link),例如:github_project

pull 源代码到本地后,我更新了另一个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 无法识别符号链接(symbolic link)文件夹(在本例中是 lib_project)

最佳答案

Go 工具故意不遵循符号链接(symbolic link)。确保你的 GOPATH 中没有任何内容,并且始终使用相对于 $GOPATH/src/ 的完整导入路径来安装包,以及相对于 vendor/ 目录对于销售包。

关于git - Go:无法在符号链接(symbolic link)中打包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39918756/

相关文章:

git - 如何在当前 HEAD 和推送中的最新文件之间的预接收 Hook 中获取文件的 git diff?

bash - Git中的暂存区有什么用?

git - 在 Git 中,delta 是什么意思?

CMake:create_symlink 与 ln

bash - ln -s 覆盖物理目录

linux - Bash 脚本也在目录内创建符号链接(symbolic link)

git - 使用 git 维护项目骨架的最佳方法

go - 推迟使用说明

go - 遍历别名(用户定义)类型的 slice 在别名之前给出类型

go - CRC - uint64 到两个字节?