【golang开发中的常见错误】【配置 .gitconfig,让go mod tidy速度飞起】

2023-11-08

问题一:invalid pseudo-version: preceding tag (v1.0.0) not found

远端GIT仓库删除tag后的报错:invalid pseudo-version: preceding tag (v1.0.0) not found

golang项目开发中,本地go mod tidy和go get -u都报错,找不到对应版本号。重点报错如下:

invalid pseudo-version: preceding tag (v1.0.0) not found

解决思路

1、猜测引用了老的包文件,查找对应的缓存包并手动rm删除,发现还是报同样的错误,重新下载也是找老的版本。所以手动清理缓存包不彻底。

2、使用go clean --modcache清除所有的缓存即可。

注意

1、清理缓存包之前尽量备份,防止有些包远程已拉不到。

2、会清理所有的缓存包,重新下载时间较长,耐心等待。

问题二:missing dot in first path element

missing dot in first path element类似的错误。或者包路径对但是无法跳转。

解决思路

1、查看是否有重复的go.mod文件

2、go.mod 重复require了本地的文件包,删掉即可。

问题三:修改文件名后,文件路径导入报错

解决思路

go mod tidy基本能搞定。

问题四:go mo tidy报错verifying module: checksum mismatch

解决思路

1、go clean --modcache

rm -fr go.sum

go mod tidy

2、上述方法不行,尝试修改GOPROXY,亲测有效

export GOPROXY="https://goproxy.cn"

go mod tidy

问题五:能正常clone代码,但是go mod tidy卡死。

解决思路

1、常见于公司对git验证方式不同,比如禁掉了用户名密码登录认证。

2、尝试使用https或者ssh两种方式clone拉代码,发现https让输入密码,ssh免密正常clone(提前加了ssh key)。设置ssh替换https即可解决:

git config --global url."git@自己的代码库域名:".insteadOf "https://自己的代码库域名/"。反之亦然。例如:

git config --global url."git@github.com:".insteadOf "https://github.com"

3、设置GONOPROXY:go env -w GONOPROXY=自己的代码库域名,其他库域名

问题六:go mod tidy或者go get拉github代码非常慢。配置 .gitconfig,让go mod tidy速度飞起

解决思路

1、让私有仓库走不走代理,让github.com走代理。

(1)指定github走自己的代理。127.0.0.1:8888是你的本机代理地址和端口(自行解决代理问题)

vim ~/.gitconfig

[http "https://github.com"]
        proxy = socks5://127.0.0.1:8888
[https "https://github.com"]
        proxy = socks5://127.0.0.1:8888

或者直接执行:git config --global http.https://github.com.proxy socks5://127.0.0.1:8888

(2)私有仓库配置。example.com替换为私有库地址。可写多个。这里用的zsh,直接vim ~/.zshrc

export GONOPROXY=example1.com,example2.com
export GONOSUMDB=example1.com,example2.com
export GOPRIVATE=example1.com,example2.com

最后注意让环境变量生效:source ~/.zshrc

(3)以上两步配置好之后,再试试go mod tidy

问题六:LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to xxx

解决思路

搬运:Git - SSL_ERROR_SYSCALL 问题解决 | hyperzsb's ideas

brew install可能经常会遇到,因为brew没走代理,和git走代理配置不太一样,brew配置代理,直接使用的是环境变量:

export https_proxy=http://127.0.0.1:8888 http_proxy=http://127.0.0.1:8888 all_proxy=socks5://127.0.0.1:8888

或者直接在你的代理软件,使用复制终端代理命令:执行即可。

骚操作记录

 1、module declares its path as:xxxx

 but was required as:

解决思路:直接go get对应的包。或者git clone下来,去那个包go mod tidy下又好了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【golang开发中的常见错误】【配置 .gitconfig,让go mod tidy速度飞起】 的相关文章

  • 如何让“git status”始终使用短格式?

    我想要git status始终使用短格式 git status short M file1 M dir file2 file untracked3 dir file untracked4 似乎不存在这方面的配置选项 并且git config
  • git 索引到底包含什么?

    Git 索引到底包含哪些内容 可以使用什么命令查看索引内容 感谢您的所有回答 我知道索引充当暂存区 提交的内容是在索引中而不是工作树中 我只是好奇索引对象由什么组成 我猜它可能是文件名 目录名 SHA 1 对的列表 也许是一种虚拟树 在 G
  • Visual Studio 2017/2019/2022 gitsync/pull/push/fetch 操作卡住,并且无法停止

    我从 Visual Studio 中的 Git Changes 选项卡启动同步 获取 拉取或推送 但操作只是挂起 没有选项可以停止它 我必须点击 X 才能关闭 Visual Studio 如果操作是同步的 它会在其他所有操作上打开一个模式对
  • 为什么 --first-parent 不是 git show 的默认值?

    我确信这个问题将作为基于意见的问题而结束 但没有其他地方所以问它 所以这里 我正在尝试查看我的分支的历史记录 其中包括合并提交 特别是更改的内容 我在这里找到了一篇非常有用的帖子git 显示合并提交 https stackoverflow
  • 如何在“git-pull”自动合并后更改提交消息?

    有时 当结果生成自动合并时 我的协作者会 惊慌 git pull 然后接受默认的提交消息 在推送此提交之前 我想确保该消息得到修复 但是 amend似乎不起作用 修复这种情况下生成的消息的最佳方法是什么 我能为他们提供的最佳指示是 git
  • git 如何在不同分支中保持不同的配置文件?

    请允许我先表达一下我的尝试 假设我有两个分支 Alice1 和 Alice2 Alice1 有自己的服务器 Alice2 也有自己的服务器 我希望能够签出 Alice1 编写我的代码 然后通过使用保存在 URL 配置文件中的 URL 直接推
  • 如何将 GitHub PR 的代码与其他分支的 PR 代码分开?

    我正在开发一个项目并解决问题 我正在为每个拉取请求 PR 创建一个不同的分支 上次我用他们的 PR 创建了两个不同的分支并解决了这两个问题 现在的问题是 我的两个拉取请求都与我在不同分支上推送的代码搞乱了 我借助以下命令在 git bash
  • Git 中的错误 - 致命:“/Users/username/Downloads/folder_name”位于存储库之外

    当我向 git 添加新项目时 出现此错误 Error fatal Users username Downloads folder name is outside repository 如何摆脱这个错误 我想 我需要给出当前的工作目录 但是
  • 读取 git 的最后一次提交和提交号

    在使用Git源代码的maven项目中 每当我使用maven编译构建时 是否可以读取git的最后一次提交和提交号 我想使用该提交编号来找到最后一次提交 这是假设您想要读取该信息 然后将其存储在属性文件中 基于https github com
  • Gitlab-runner 更改 builds_dir

    我在生产服务器上的默认 builds dir 是 root builds qL8eZYTH 0 faramarzqoshchi testing gitlab runner 我希望它是这样的 home domain name public h
  • 如何更改我的 Github Pages 默认 index.html 位置?

    我已经尝试过以下线程中显示的内容 我可以将我的 Github Pages index html 放在存储库的子文件夹中吗 https stackoverflow com questions 25320356 can i have my gi
  • GIT LFS 跟踪旧数据

    我对 GIT LFS 有一个问题 我的项目达到了我正在跟踪 1 5GB 的 LFS 数据的程度 这比我拥有的数据要多得多 没有 LFS 的所有跟踪内容将为 108MB 我开始调查这个问题 看起来自从我开始重构并移动我的文件以来 git lf
  • Git 命令查找哪些分支合并到当前分支以及何时合并

    我有几个功能分支正在自动合并到集成分支中 我想知道这种情况是否以及何时发生 我可以打字git log这将向我显示合并已经发生 但由于某种原因 它没有向我显示来自哪个功能分支 它只是说 将integration branch合并到integr
  • 是否有任何 git merge-strategies 可以忽略提交上的子模块更新或分支合并到目标分支?

    我的用例是 我有一个包含子模块的存储库的两个分支 我想设置这两个分支的自动集成 但是 只要两个分支上都有子模块更新 我的自动集成脚本就会因子模块冲突而失败 有没有办法让 git 在合并过程中忽略子模块指针的变化 或者提供类似的东西merge
  • 压缩 git log --graph 输出?

    有没有办法压缩输出git log graph那么它会在视觉上压缩遵循线性历史的提交吗 基本上 我只想查看图中某些分支分歧 合并的点 以获得我的分支结构的顶层 概述 举个例子 如果我有这个 A Z H B G C F D E 我希望它显示类似
  • 关闭 Sublime Text 3.2 中的 git 集成

    如果我想关闭 Sublime text 左侧装订线中的 GIT 集成 又名史莱姆绿线 我只需将其切换为 false 26 show git status false 但是 当在首选项中进行设置时 我收到错误 尝试解析设置时出错 意外的字符
  • 如何正确处理git中仅本地使用的文件?

    我想重新排序 git commits 中更改文件的输出 因此我创建了一个名为submodule orderfile并配置diff orderFile https git scm com docs git config指向该文件 现在出现了很
  • git receive-pack 以 0000 停止

    我对 git 很陌生 目前正在尝试在 opensuse 上使用 gitolite 和 trac 设置环境 我设法使用来自的脚本迁移旧的 svn 存储库http john albin net git git svn migrate http
  • 如何为Git存储库组织和设置镜像备份服务器?

    我正在将一些 svn 存储库移至 Git 所以 我基本上尝试做的是 设置一台带有裸 Git 存储库的服务器 我将从中拉取和推送到该存储库 为第一台服务器上的所有存储库设置一些备份服务器 所以 假设我的服务器上有一个目录 例如 HOME gi
  • git jenkins 中未找到存储库

    我正在使用 jenkins 2 64 并安装了最新的插件 我试图在 jenkins 中设置 git 存储库并给出凭据 但给出错误无法连接存储库 状态代码为 128 Cloning repository https github com so

随机推荐