go - 使用模块,新安装的包不能在项目中引用
问题描述
go version 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)。
我应该做不同的事情以便我的导入语句可以找到新安装的包吗?使用模块不应该将所有包都安装在项目路径中的某个地方吗?
解决方案
我应该做不同的事情以便我的导入语句可以找到新安装的包吗?
不。有了模块,根本不需要预先安装包。
使用模块不应该将所有包都安装在项目路径中的某个地方吗?
不会。它们以某种格式下载到某处并从该位置使用,但它们不像旧的 GOPATH 变体那样“安装” go get
。
显示 go env 的输出以及 go mod 供应商生产的内容。
推荐阅读
- arrays - qsort 不会对整数数组进行排序
- reactjs - 如何在 onClick 调用的函数上重新渲染 Header 功能组件
- c# - Json.Net 中 {"Type":"Ping"} 的 jpath 是什么?
- python - 如何使用 re.sub() 只留下字母 az、AZ、数字 0-9 和空格而不是除数?
- c# - Mahapps 汉堡菜单目的地 C# WPF
- java - BS 树中的公共节点
- python - 多处理工作者返回错误响应python
- vue.js - 超小Vue按钮
- python - 以有效的方式计算一百万对的相关性
- java - @JmsListener - 连续命中指定队列