为了账号安全,请及时绑定邮箱和手机立即绑定

使用模块,无法在项目中引用新安装的包

使用模块,无法在项目中引用新安装的包

Go
扬帆大鱼 2023-06-01 14:18:27
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 供应商产生的内容。


查看完整回答
反对 回复 2023-06-01
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

我能够解决此问题。总结是没有必要通过'go get'来“安装”一个包。相反,只需确保您的项目已初始化为使用“go mod init”命令使用模块,然后在导入语句中包含包名称。下一个构建事件将下拉包及其所有依赖项。




查看完整回答
反对 回复 2023-06-01
  • 2 回答
  • 0 关注
  • 119 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信