12

当我的AWS EC2 Ubuntu实例启动时,我有一些cloudinit脚本要执行。

我想使用下面的代码设置GIT配置变量。

#cloud-config
runcmd:
- [ sh, -c, "git config --global user.name 'myname'"]

登录终端时。我可以毫无问题地执行git config --global user.name 'myname'

但是,当我尝试使用cloudinit代码启动我的实例时。我收到一条错误消息

致命:$HOME 未设置

我的理解是这是因为实例启动时没有设置HOME 。

寻找解决方案,以在启动时设置 git 变量或替代解决方案。

4

2 回答 2

16

我遇到了同样的问题...

git config --system http.sslVerify false
git config --system user.email "email@email.com"

这解决了错误消息。在阅读CodeCommit with EC2 Role Credentials后,我得到了这个解决方案。原因在博客中说明...“但是当我以 root 身份运行时,我遇到了致命错误:$HOME 未设置,因为 git config --global 正在尝试读取/写入当前用户的 $HOME/。 gitconfig 文件,在这种情况下,root 似乎是 $HOME-less。

在彻底了解了 git 设置管理之后,我可以告诉你还有另一个选择——使用 git config --system 设置系统范围的 git 首选项,这会导致对 /etc/gitconfig 的修改,没有错误。"

PS 我意识到我在将近 3 年后才回答这个问题,但我希望这可以帮助其他面临同样问题的人。

于 2019-07-09T17:31:26.767 回答
0

我刚刚使用了 sudo 它解决了我的问题

git config --global user.email "you@example.com" git config --global user.name "你的名字"

sudo git config --global user.email "you@example.com"
sudo git config --global user.name "Your Name"
于 2021-09-17T22:14:55.437 回答