如何禁止repo init时从互联网校验/下载新版repo工具?
阻止repo工具联网校验/下载更新的方法
当然可以阻止repo工具的联网更新操作!你看到的那些访问https://gerrit.googlesource.com/git-repo的请求,是因为repo工具默认会在每次执行repo init时,检查自身是否有新版本并尝试更新。下面是几种靠谱的解决办法:
使用环境变量临时跳过更新
你可以通过设置REPO_SKIP_UPGRADE环境变量为1,让repo跳过自身的更新检查流程。两种使用方式:- 先设置变量再执行命令:
export REPO_SKIP_UPGRADE=1 repo init -u git@1.1.1.1/test/iot_manifest.git - 直接在命令前追加变量(临时生效):
REPO_SKIP_UPGRADE=1 repo init -u git@1.1.1.1/test/iot_manifest.git
- 先设置变量再执行命令:
添加
--no-repo-verify参数repo init命令本身提供了--no-repo-verify参数,专门用来跳过对repo工具的校验和更新操作。直接这样用就行:repo init --no-repo-verify -u git@1.1.1.1/test/iot_manifest.git固定本地repo版本(长期方案)
如果需要长期避免联网更新,可以自己下载指定版本的repo脚本(比如从内部仓库获取离线包),然后:- 把脚本放到某个本地目录,比如
~/local-repo/ - 将该目录添加到系统
PATH的最前面,确保优先使用本地脚本:export PATH=~/local-repo:$PATH
这样后续执行
repo命令时,系统会调用你本地的固定版本,不会再去谷歌的源拉取更新了。- 把脚本放到某个本地目录,比如
内容的提问来源于stack exchange,提问作者Robber Pen




