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)。我应该做不同的事情,以便我的导入语句可以找到新安装的包吗?使用模块不应该把所有的包都安装在项目路径的某个地方吗?
2 回答
慕侠2389804
TA贡献1719条经验 获得超6个赞
我应该做不同的事情,以便我的导入语句可以找到新安装的包吗?
不需要。有了模块,根本不需要预先安装包。
使用模块不应该把所有的包都安装在项目路径的某个地方吗?
不。它们以某种格式下载到某处并从该位置使用,但它们不像go get
.
显示 go env 的输出以及 go mod 供应商产生的内容。
我应该做不同的事情,以便我的导入语句可以找到新安装的包吗?
不需要。有了模块,根本不需要预先安装包。
使用模块不应该把所有的包都安装在项目路径的某个地方吗?
不。它们以某种格式下载到某处并从该位置使用,但它们不像go get
.
显示 go env 的输出以及 go mod 供应商产生的内容。
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
我能够解决此问题。总结是没有必要通过'go get'来“安装”一个包。相反,只需确保您的项目已初始化为使用“go mod init”命令使用模块,然后在导入语句中包含包名称。下一个构建事件将下拉包及其所有依赖项。
- 2 回答
- 0 关注
- 141 浏览
添加回答
举报
0/150
提交
取消