Ad
環境
- win11
- wsl2(ubuntu22.04)
事象
git pushする際に以下のようなエラーが発生する。
(atcoder-py3.8) ~/AtCoder/ABC > master●● > 0m > git push
Missing or invalid credentials.
Error: connect ENOENT /mnt/wslg/runtime-dir/vscode-git-2d573444a9.sock
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1157:16) {
errno: -2,
code: 'ENOENT',
syscall: 'connect',
address: '/mnt/wslg/runtime-dir/vscode-git-2d573444a9.sock'
}
Missing or invalid credentials.
Error: connect ENOENT /mnt/wslg/runtime-dir/vscode-git-2d573444a9.sock
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1157:16) {
errno: -2,
code: 'ENOENT',
syscall: 'connect',
address: '/mnt/wslg/runtime-dir/vscode-git-2d573444a9.sock'
}
remote: No anonymous write access.
fatal: Authentication failed for 'https://github.com/hy-sksem/AtCoder.git/'
解決
- GitHub CLIをインストールして
- GitHub CLIの設定
をすると解決可能。
1. GitHub CLIインストール
以下のコマンドを実行してGitHub CLIをインストールする。
type -p curl >/dev/null || sudo apt install curl -y
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y
2. CLIの設定
cliのインストールが終わったら、gh auth loginを実行する。
gh auth login
色々聞かれるので、以下のように回答していく。
What account do you want to log into?
> GitHub.com
What is your preferred protocol for Git operations?
> HTTPS
Authenticate Git with your GitHub credentials?
> Yes
How would you like to authenticate GitHub CLI?
> Login with a web browser
このブラウザが立ち上がらない場合は、https://github.com/login/device に手動でアクセスすることで、認証できる。
! First copy your one-time code:の後の8桁の英数字を打ち込む。次の画面で承認すると、ターミナルの処理が再開される。
gh auth login
? What account do you want to log into? GitHub.com
? You're already logged into github.com. Do you want to re-authenticate? Yes
? What is your preferred protocol for Git operations? HTTPS
? Authenticate Git with your GitHub credentials? Yes
? How would you like to authenticate GitHub CLI? Login with a web browser
! First copy your one-time code: xxxx-xxxx
Press Enter to open github.com in your browser...
! Failed opening a web browser at https://github.com/login/device
exec: "xdg-open,x-www-browser,www-browser,wslview": executable file not found in $PATH
Please try entering the URL in your browser manually
✓ Authentication complete.
- gh config set -h github.com git_protocol https
✓ Configured git protocol
✓ Logged in as hy-sksem
Logged in as hogehogeがpushしたい自分のアカウントであればOK。
あとはやりたかったgit pushなり何なりを実行すれば良い。
Ad