문제#
askpass.sh: No such file or directory#
docusaurus 블로그를 yarn deploy 했더니 도중에 아래와 같은 오류가 발생했습니다.
CMD: git commit -m "Deploy website - based on 1032e9050a07e7a6ca19a5a1576523a3af135bd2" (code: 0)
Password for 'https://civilizeddev@github.com': fatal: cannot run /home/david/.vscode-server/bin/3866c3553be8b268c8a7f8c0482c0c0177aa8bfa/extensions/git/dist/askpass.sh: No such file or directoryaskpass.sh 파일을 찾을 수 없다는 오류입니다.
조사 과정#
해당 경로에 파일이 진짜로 없는가?#
먼저 진짜로 그 파일이 없는지 찾아봤습니다. 진짜로 없었습니다.
그런데 놀라운 사실을 발견했는데, 해당 파일은 다른 경로에 있었습니다.
note
~/.vscode-server/bin/7f6ab5485bbc008386c4386d08766667e155244e/extensions/git/dist/askpass.sh
.vscode-server/bin/ 아래의 해시 값이 다른 경로가 만들어져 있었는데요.
아무래도 vscode-server의 버그가 아닌지 의심이 갔습니다.
해당 경로는 어디에서 지정되나?#
혹시 환경변수에 PATH가 잡혀있는지 찾아봤습니다.
$ env | grep 3866c3553be8b268c8a7f8c0482c0c0177aa8bfa
VSCODE_GIT_ASKPASS_NODE=/home/david/.vscode-server/bin/3866c3553be8b268c8a7f8c0482c0c0177aa8bfa/nodeGIT_ASKPASS=/home/david/.vscode-server/bin/3866c3553be8b268c8a7f8c0482c0c0177aa8bfa/extensions/git/dist/askpass.shVSCODE_GIT_ASKPASS_MAIN=/home/david/.vscode-server/bin/3866c3553be8b268c8a7f8c0482c0c0177aa8bfa/extensions/git/dist/askpass-main.js진짜로 뭐가 있네요. 잘못된 경로를 가리키고 있습니다.
왜 제대로 된 경로를 가리키고 있지 않은가?#
caution
위 환경변수는 VSCode에서 Terminal을 열었을 때 나타납니다. 밖에 그냥 터미널을 열면 안 나타납니다.
환경변수를 수정하면 되겠구나 했는데,
위 환경변수들은 ~/.bashrc 에 설정된 것이 아니라 VSCode에서 Terminal을 열면 그때 추가되는 환경변수였습니다.
환경변수의 경로를 살펴보니 extensions/git/ 이 들어있네요. VSCode Extension과 관련이 있다는 말이지요.
이때 문득 제 머리를 스치는 생각이 있었습니다. 😨
원인#
"git.enabled": false#
VSCode에서 git을 사용할 때 Extension에 내장된 것을 사용합니다.
사실 저는 git 저장소를 사용할 때 SourceTree라는 도구를 사용하기 때문에, vscode에서는 git 확장을 disable 했었습니다.
{  ...,  "git.enabled": false,}note
왜냐하면 이렇게 뜨는 것이 눈에 거슬렸거든요. (옆에 숫자가 떠 있고, 파일 이름 색깔이 변하는 등)

docusarus 블로그를 yarn deploy 할 때에는 VSCode Extension의 git을 사용하는데,
제가 .vscode/settings.json 에 "git.enabled": false라고 해놓았기 때문에 바르게 동작하지 않았던 것입니다.
caution
VSCode에서 git 기능을 사용하는 것이 있을 때는,
.vscode/settings.json 에서 "git.enabled": false를 하면 안 됩니다.
해결#
"git.enabled": true#
다시 원래대로 해놓습니다.
{  ...,  "git.enabled": true,}그럼 이제 yarn deploy도 잘 됩니다.
$ yarn deploy
...
CMD: git commit -m "Deploy website - based on 1032e9050a07e7a6ca19a5a1576523a3af135bd2" (code: 0)To https://github.com/civilizeddev/civilizeddev.github.io.git   e4fc487..55dba80  gh-pages -> gh-pagesCMD: git push --force origin gh-pages (code: 0)Website is live at "https://civilizeddev.github.io/".Done in 43.80s.
Terminal will be reused by tasks, press any key to close it.git 화면 표시 끄기#
"git.enabled": false를 하지 않고도 거슬리는 화면 표시를 끌 수 있습니다.
{  ...,  "git.enabled": true,  "git.countBadge": "off",  "git.decorations.enabled": false,}note
그러면 이렇게 됩니다. (깔끔)

글의 내용이 도움이 되었길 바랍니다.
감사합니다.
