go版本go1.11.4 darwin / amd64 GOPATH尚未设置,但先前已设置为$ HOME / Development / go
项目路径在$ HOME / code /
下我能够使用命令成功(至少没有错误)安装go-sql-driver / mysql软件包
go get github.com/go-sql-driver/mysql@v1
当我在导入语句中包含对该包的引用
import(
_ "github.com/go-sql-driver/mysql")
在我的代码中,我看到了错误
无法导入github.com/go-sql-driver/mysql(找不到导入: “ github.com/go-sql-driver/mysql”)
我已经在项目根目录中运行了go mod init,它创建了一个go.mod文件。当我运行go get命令时,我看到该软件包的文件中添加了require语句。但是,似乎该软件包的文件已安装在默认的$ HOME / go目录中(因为我未设置GOPATH)。
我应该做些不同的事情以便我的import语句可以找到新安装的软件包吗?使用模块不应该将所有软件包都安装在项目路径中的某个地方吗?
答案 0 :(得分:1)
我应该做些不同的事情以便我的import语句可以找到新安装的软件包吗?
不。使用模块,根本不需要预先安装软件包。
使用模块不应该将所有软件包都安装在项目路径中吗?
不。它们以某种格式下载到某个地方并从该位置使用,但是它们没有像go get
的旧GOPATH变体那样“安装”。
显示go env的输出以及go mod供应商生产的产品。
答案 1 :(得分:0)
我很确定自己做错了事。在仔细参考以下golang modules wiki中记录的步骤之后,我能够解决此问题。摘要是,无需通过“ go get”“安装”软件包。相反,只需使用“ go mod init”命令确保您的项目已初始化为使用模块,然后将包名称包含在import语句中。下一个构建事件将下拉包及其所有依赖项。