写作绅士,读作丧尸 X岛揭示板
 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 公众号:【矛盾苇草】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.63059776 - 无标题 - 技术宅


回应模式
No.63059776
名 称
E-mail
标题
颜文字
正文
附加图片
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2024-07-12(五)15:42:13 ID:2Cab78l [举报] [订阅] [只看PO] No.63059776 [回应] 管理
有肥哥在win10下用过rust吗。
cargo new test1,这一步就跑不起来了。
报错failed to parse config file:invalid configuration key (in C:/Users/用户名/.gitconfig:1);class=Config (7)
他报错是gitconfig有问题,我搜了之后git上的issue上说该问题无法修复,说是libgit的问题他们救不了,只是打印了一下git repo是哪个仓库无法初始化。
rust重装过了也不行,真的没有办法救吗orz
jp
无标题 无名氏 2024-07-12(五)15:45:07 ID:q9eLKyu [举报] No.63059812 管理
不行试试wsl?( ゚∀。)
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2024-07-12(五)15:45:26 ID:2Cab78l (PO主) [举报] No.63059814 管理
jp
无标题 无名氏 2024-07-12(五)15:47:30 ID:2Cab78l (PO主) [举报] No.63059842 管理
>>No.63059812
( ´ー`)已经有这个想法了。
而且我手上还有虚拟机,打算换linux跑一下试试了。
我真的不懂,cargo就不能绕过git全局配置吗。
无标题 无名氏 2024-07-12(五)15:47:49 ID:OTFyGme [举报] No.63059846 管理
所以你的.gitconfig里有什么非法的配置?
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2024-07-12(五)15:48:09 ID:2Cab78l (PO主) [举报] No.63059849 管理
>>No.63059812
给肥哥jp
无标题 无名氏 2024-07-12(五)15:52:04 ID:2Cab78l (PO主) [举报] No.63059893 管理
>>No.63059846
根据报错提示,我的.gitconfig:
[user]
name=用户名
email = 邮箱

我也想知道哪里非法了
无标题 无名氏 2024-07-12(五)15:53:34 ID:2Cab78l (PO主) [举报] No.63059913 管理
>>No.63059893
里面就是我的用户名和邮箱配置。
另外给一下我搜到的issue,但是我找不到解决方案。
https://github.com/rust-lang/cargo/issues/9854
无标题 无名氏 2024-07-12(五)15:54:00 ID:OTFyGme [举报] No.63059919 管理
用户名前面那个等号不对劲吧?
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2024-07-12(五)15:54:42 ID:2Cab78l (PO主) [举报] No.63059927 管理
>>No.63059846
给肥哥jp
无标题 无名氏 2024-07-12(五)15:55:00 ID:OTFyGme [举报] No.63059931 管理
>>No.63059919
是个全宽等号?
无标题 无名氏 2024-07-12(五)15:56:48 ID:2Cab78l (PO主) [举报] No.63059952 管理
>>No.63059919
上面是我手打的,我的意思是内容看不出任何非法。如果是字符之类的问题,我复制了一下我的gitconfig。

[user]
name = 用户名
email = 邮箱
无标题 无名氏 2024-07-12(五)16:00:58 ID:OTFyGme [举报] No.63059984 管理
那你在某个git库文件夹下使用命令git status
会报错吗
无标题 无名氏 2024-07-12(五)16:01:02 ID:q9eLKyu [举报] No.63059987 管理
>>No.63059913
您提供的链接是GitHub上的一个issue,标题为"Cargo becomes unusable if gitconfig is malformed",即如果git配置文件损坏,Cargo将变得不可用。以下是该issue页面的主要内容概述:

1. **问题描述**:Cargo调用git(通过libgit2库),git会自动解析配置文件。Cargo本身不需要直接从配置文件中获取任何内容,但目前不清楚是否能够绕过配置解析。

2. **Cargo与Git的关系**:Cargo依赖于Git/libgit2正常工作,即Cargo期望Git/libgit2的行为不受git配置的影响。

3. **环境变量解决方案**:Git有`GIT_CONFIG_GLOBAL`和`GIT_CONFIG_SYSTEM`环境变量,如果设置为`/dev/null`,则相应的配置文件将被跳过。但libgit2似乎不遵循这些环境变量。不过,可以直接配置libgit2的查找位置,通过以下代码示例:

```c
git_libgit2_init();
git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_SYSTEM, "");
git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_GLOBAL, "");
git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_XDG, "");
git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_PROGRAMDATA, "");
// git_repository_init(...);
```

使用`NULL`代替`""`将重置为默认位置,这不是我们想要的。

4. **Git配置的期望行为**:Git自动尊重用户的配置,这是git的约定之一。但有人提出,它不应该这样做。

5. **类比说明**:将libgit2比作shell,Cargo使用它来执行脚本。Cargo期望shell解释器的行为与用户配置无关,例如`?`通配符应该正常工作,不应出错,别名不应展开等。

6. **实际问题**:默认情况下,shell不会为非交互式shell加载用户的配置,因为那会破坏许多脚本。这与Cargo和libgit2的情况相同:如果Cargo从`github.com`获取信息,它期望联系的是`github.com`,而不是用户通过`url` gitconfig变量重写的其他域名。

7. **讨论**:讨论中还提到了其他一些观点和类比,但主要焦点是如何处理git配置文件损坏导致Cargo不可用的问题。
无标题 无名氏 2024-07-12(五)16:02:21 ID:2Cab78l (PO主) [举报] No.63060007 管理
>>No.63059984
不会。git的使用没有任何问题。
无标题 无名氏 2024-07-12(五)16:12:35 ID:OTFyGme [举报] No.63060114 管理
报错信息能截个图么,用户信息打个码
无标题 无名氏 2024-07-12(五)16:23:50 ID:OTFyGme [举报] No.63060260 管理
git config --global user.name "xxx"
git config --global user.email "xxx@gmail.com"
配置好之后可以使用
git config -l
查看现有配置

你试试重新更新.gitconfig,然后查看现有配置
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2024-07-12(五)16:46:28 ID:2Cab78l (PO主) [举报] No.63060581 管理
>>No.63060260
好。谢谢肥哥!
给你jp
收起 查看大图 向左旋转 向右旋转
无标题 无名氏 2024-07-12(五)16:49:04 ID:2Cab78l (PO主) [举报] No.63060611 管理
>>No.63060114
报错↓
无标题 无名氏 2024-07-12(五)16:51:20 ID:8hxlYPV [举报] No.63060637 管理
没遇到过
你可以试试重新配置git

UP主: