go 语言默认不会自动下载远程依赖包,需手动执行 go get 命令拉取并安装第三方包,否则编译或构建时会报“cannot find package”错误。
在 Go 中,import 语句仅声明依赖关系,并不触发包的下载或安装。与 Node.js 的 npm install 或 Python 的 pip install 不同,Go 将获取源码(go get)和构建/安装
(go build / go install)明确分离为两个步骤。
当你运行 go install 报错:
demo.go:3:8: cannot find package "github.com/bradfitz/gomemcache/memcache" in any of: /usr/local/Cellar/go/1.4/libexec/src/... (from $GOROOT) /Users/white/go/src/... (from $GOPATH)
这说明 Go 在 $GOROOT(标准库路径)和 $GOPATH/src(用户工作区)下均未找到该包——它尚未被下载到本地。
✅ 正确做法是先执行:
go get github.com/bradfitz/gomemcache/memcache
该命令会:
⚠️ 注意事项:
总结:import ≠ 自动下载,go get 是连接远程代码与本地构建的关键桥梁。养成「先 get,再 build」的习惯,或统一采用 Go Modules 管理依赖,可显著提升开发体验与项目可维护性。