CMakeLists中下载github仓库代码和设置代理

这篇具有很好参考价值的文章主要介绍了CMakeLists中下载github仓库代码和设置代理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在编译大型项目时,往往会遇到在CMakeLists.txt文件中下载github依赖仓库的现象。

include(FetchContent)

FetchContent_Declare(
  repo-common
  GIT_REPOSITORY https://github.com/triton-inference-server/common.git
  GIT_TAG ${TRITON_COMMON_REPO_TAG}
  GIT_SHALLOW ON)
FetchContent_Declare(
  repo-core
  GIT_REPOSITORY https://github.com/triton-inference-server/core.git
  GIT_TAG ${TRITON_CORE_REPO_TAG}
  GIT_SHALLOW ON)
FetchContent_Declare(
  repo-backend
  GIT_REPOSITORY https://github.com/triton-inference-server/backend.git
  GIT_TAG ${TRITON_BACKEND_REPO_TAG}
  GIT_SHALLOW ON)
FetchContent_MakeAvailable(repo-common repo-core repo-backend)

但是因为墙的原因,直接下载不了代码导致编译报错。

可以通过设置代理解决。

set(ENV{http_proxy} "http://127.0.0.1:8082")
set(ENV{https_proxy} "http://127.0.0.1:8082")

但是如果你是在docker中编译时,情况又会变得复杂,设置代理会报”Failed to connect to 127.0.0.1 port 8082 after 0 ms: Connection refused“,不设置的话又连接不到github。解决方案是在docker build 加--network host,使用宿主机的网络。

#执行以下dockerfile:docker build -f dockerfile -t tritonserver:temp .
ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver
ARG BASE_TAG=23.10-py3

FROM ${BASE_IMAGE}:${BASE_TAG} as base

COPY cmake-3.24.4-linux-x86_64.tar.gz /tmp/
COPY install_cmake.sh /tmp/
RUN bash /tmp/install_cmake.sh && rm /tmp/install_cmake.sh
ENV PATH="/usr/local/cmake/bin:${PATH}"

WORKDIR /app
#ENV http_proxy "http://127.0.0.1:8082",在dockerfile中设置代理同样不行,报错也是一样的
#ENV https_proxy "http://127.0.0.1:8082"
COPY CMakeLists.txt CMakeLists.txt
RUN cmake .

参考链接:https://simpleapples.com/2019/04/18/building-docker-image-behind-proxy/

还有一个发现就是在dockerfile中执行

RUN export http_proxy=127.0.0.1:8082 && export https_proxy=127.0.0.1:8082

ENV http_proxy "http://127.0.0.1:8082"

ENV https_proxy "http://127.0.0.1:8082"

我猜测是生效的范围不一样,ENV对当前shell和子shell都是生效的,但是export只对当前shell生效,因为如果是在dockerfile中执行另外一个shell,另外一个shell中下载github的代码的话,export是下载不下来的,但是ENV可以。文章来源地址https://www.toymoban.com/news/detail-842336.html

到了这里,关于CMakeLists中下载github仓库代码和设置代理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 给github设置代理

    1 引言 本文详细介绍了在 Linux 环境下配置和使用网络代理的步骤。包括使用环境变量设置代理的方法、在 Git 中配置代理的常用方法以及一些调试工具。这些内容对于需要在网络受限环境下使用 Git 的用户非常实用。 2 配置代理 3 git 设置 http 代理 最常用的访问 git 的方式是

    2024年01月22日
    浏览(34)
  • github Copilot使用及代理设置

     使用前先保证自己能正常访问github.com,找个科学上网工具  找到系统的hosts文件做个配置, 在https://www.ipaddress.com/ 中搜索github.com和api.github.com 140.82.112.4 github.com 140.82.113.6 api.github.com 我的搜索完是上面两个ip,加入到hosts中 使用如下命令进行git配置 git config --global user.mail x

    2024年02月13日
    浏览(39)
  • 使用Git将GitHub仓库下载到本地

    前记: git svn sourcetree gitee github gitlab gitblit gitbucket gitolite gogs 版本控制 | 仓库管理 ---- 系列工程笔记. Platform:Windows 10 Git version:git version 2.32.0.windows.1 Function:使用Git将GitHub仓库下载到本地 目录 ​一. 以下是将GitHub仓库下载到本地的步骤: 1. 确保你的电脑上已经安装了git

    2024年02月02日
    浏览(64)
  • 【jetson笔记】ubuntu设置代理解决访问github问题

    手机开启热点并打开 clash clash 中设置-覆写-启用允许来自互联网的连接 确保手机可以访问github jetson设备连接手机热点 设置-我的设备-全部参数-状态信息-IP地址(每个手机不同) 我这里是 172.18.0.1 ,后续所有要替换成你自己的IP地址 设置-Network-Network Porxy-改为Manual HTTP Proxy-

    2024年01月25日
    浏览(44)
  • 使用git下载github/gitee仓库部分或单个文件的方法

    有些时候在github或者gitee仓库中我们只需要下载整个项目中的我门需要的那一部分文件夹或文件就行了,不需要下载所有的项目。这样可以节省很多流量和时间 1.建立一个新的 git 本地仓库 这里我在 D:test 中初始化 命令: 2.在本地仓库里面启用sparse-checkout 命令: 3.设定你要

    2024年04月14日
    浏览(95)
  • 无需克隆整个仓库,下载Github特定文件夹内的文件

    注意:此方法对Git-LFS方式上传的文件可能无效!!! 在 Windows 中,可以通过以下步骤打开 PowerShell 终端: 使用搜索功能: 点击 Windows 按钮(开始菜单左下角的 Windows 图标)。 在搜索框中键入 \\\"PowerShell\\\" 或 \\\"Windows PowerShell\\\"。 在搜索结果中,选择 \\\"Windows PowerShell\\\" 或 \\\"Windows Po

    2024年02月01日
    浏览(61)
  • git关联两个远程仓库,一个仓库(github)拉取代码,另一个仓库(gitlab)推送代码

    有这种情况,小伙伴们在github上下载的开源项目(该开源项目还在继续开发维护),然后自己下载下来进行二次开发,然后又要把项目推送自己的gitlab私服上,这个时候不得不本地代码关联两个远程仓库。接下来我将一步步讲解如何关联两个远程仓库,并拉取github的开源项目

    2024年02月12日
    浏览(79)
  • Github仓库代码上传和更新

    准备 下载Git,把git和GitHub账号绑定,详见博客: https://www.cnblogs.com/ttmaoxianjun/articles/14617125.html 一、创建仓库并复制仓库地址 点击new新建仓库  添加仓库名字,创建仓库  复制仓库地址(我用的https,可以用ssh)  二、上传文件到仓库 随便找个文件夹右键打开Git Bash  输入g

    2023年04月08日
    浏览(53)
  • 初次在 GitHub 建立仓库以及公开代码的流程 - 建立仓库

    创建仓库 点击右上角工具栏里的 New repository,创建新的仓库。 Repository name 在 Repository name 栏中输入仓库的名称。这里我们输入 Hello-World。 Description Description 栏中可以设置仓库的说明。这一栏不是必需项,可以留空。 Public、Private 选择 Public,创建公开仓库,仓库内的所有内

    2024年04月10日
    浏览(38)
  • 提交代码到github时使用代理

    在使用 VPN 访问 GitHub 时,可以将 Git 的代理设置为 VPN 的代理,以便在 Git clone 时通过 VPN 访问 GitHub。具体步骤如下: 配置 Git 的代理: 其中, your_vpn_proxy_address 和 your_vpn_proxy_port 分别为 VPN 的代理地址和端口号。如果不知道 VPN 的代理地址和端口号,可以在 VPN 的客户端中查

    2024年02月09日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包