Ubuntu安装git时出错,各种问题及解决大全

本文记录了在Ubuntu16.04 TLS版本的虚拟机上从源码安装Git 2.22版本的过程,解决了编译过程中因缺少openssl、zlib和curl依赖库导致的错误。通过安装libssl-dev、zlib1g-dev和libcurl4-gnutls-dev,成功克服了安装障碍。

前言

最近安装了一个linux xUbutnu虚拟机,版本是16.04TLS版本的,想在上面装一下git,源码安装,发现问题重重啊,现记录一下,git的最新源码包获取:(版本是最新的2.22版本)

wget https://github.com/git/git/archive/v2.22.0.tar.gz

至于linux 下 git的安装和配置ssh可以参考博客:
linux下git安装及配置SSH使用

问题1:git-compat-util.h:280:25: fatal error: openssl/ssl.h: 没有那个文件或目录

在Ubuntu16.04中安装git2.22版本时出错,提示

git-compat-util.h:280:25: fatal error: openssl/ssl.h: 没有那个文件或目录
如下图所示:
在这里插入图片描述

原因分析和解决办法

在编译时需要底层软件支持,而本地系统没有,所以需要先进行安装,具体来说是安装 libssl-dev 找不到相应的头文件,应该进行命令行安装
你如果非要编译安装 可以

$ sudo apt-get install libssl-dev

进行安装,然后使用正常的命令进行编译安装

问题2:cache.h:21:10: fatal error: zlib.h: 没有那个文件或目录

如下图:
在这里插入图片描述

解决办法

此提示为缺少库文件,安装即可,ubuntu下安装方法:

sudo apt-get install zlib1g-dev libssl-dev

问题3:http.h:6:10: fatal error: curl/curl.h: 没有那个文件或目录

如下图:
在这里插入图片描述

解决办法

apt-get install libcurl4-gnutls-dev

基本上就遇到上面这三个问题,配合我上面的安装博客,分分钟搞定呢!!!

参考

https://blog.youkuaiyun.com/suwu150/article/details/53925381
https://blog.youkuaiyun.com/u010987458/article/details/71308081

### 解决 Ubuntu 系统上拉取代码的环境错误 在 Ubuntu 系统上使用 `git clone` 或通过 SSH 拉取代码,可能会遇到权限或配置问题。以下是解决此类问题的详细方案。 #### 1. 安装 Git 确保系统中已安装 Git。如果未安装,可以通过以下命令进行安装: ```bash sudo apt-get update sudo apt-get install git ``` 此命令会更新包管理器并安装最新版本的 Git[^1]。 #### 2. 配置 SSH 密钥 当使用 `git clone git@github.com` ,出现 `Permission denied (publickey)` 错误,通常是因为 SSH 密钥未正确配置。以下是配置步骤: - **生成 SSH 密钥** 如果尚未生成 SSH 密钥,可以运行以下命令: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此命令将提示指定密钥文件的保存路径和密码(可选)。默认路径为 `~/.ssh/id_rsa`[^1]。 - **检查生成的密钥** 确认密钥是否成功生成: ```bash ls ~/.ssh ``` 应能看到类似 `id_rsa` 和 `id_rsa.pub` 的文件。 - **添加公钥到 GitHub** 将公钥内容复制到剪贴板: ```bash cat ~/.ssh/id_rsa.pub ``` 登录 GitHub 账号,进入 **Settings > SSH and GPG keys > New SSH key**,将公钥粘贴进去。 #### 3. 测试 SSH 连接 验证 SSH 是否能够正常连接到 GitHub: ```bash ssh -T git@github.com ``` 如果配置正确,应收到类似以下消息: ``` Hi username! You've successfully authenticated, but GitHub does not provide shell access. ``` #### 4. 配置 SSH Agent 为了确保 SSH 密钥被正确加载,需要启动 SSH Agent 并添加私钥: ```bash eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa ``` #### 5. 检查 OpenSSH 客户端与服务器端 Ubuntu 系统通常默认安装了 OpenSSH 客户端 (`openssh-client`),但可能未安装服务器端 (`openssh-server`)。如果需要远程访问或调试 SSH 连接问题,可以安装服务器端组件: ```bash sudo apt-get install openssh-server ``` 此外,确认 SSH 服务是否正在运行: ```bash sudo systemctl status ssh ``` 若未运行,可通过以下命令启动: ```bash sudo systemctl start ssh ``` #### 6. 克隆仓库 完成上述配置后,再次尝试克隆仓库: ```bash git clone git@github.com:username/repository.git ``` #### 7. 常见问题排查 - **权限问题** 如果仍然遇到权限问题,检查 `.ssh` 文件夹和文件的权限是否正确: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub ``` - **网络问题** 确保防火墙或代理未阻止 SSH 连接(默认端口为 22)。 --- ### 示例代码 以下是完整的 SSH 密钥生成与配置脚本: ```bash # 更新系统并安装 Git sudo apt-get update sudo apt-get install git # 生成 SSH 密钥 ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # 启动 SSH Agent 并加载私钥 eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa # 测试连接 ssh -T git@github.com ``` ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fu_Lin_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值