Cmder: `GIT_INSTALL_ROOT` gets set incorrectly to `git_root\mingw64\bin` path

Created on 29 Jun 2020  路  15Comments  路  Source: cmderdev/cmder

Version Information


Cmder 1.3.15.1010, ConEmu 19.10.12.0

Windows 10 Pro Version 1909 (OS Build 18363.900)

Description of the issue


When I start Cmder, I get a "The system cannot find the file specified." error.
Debug logs:

DEBUG(init.bat): Env Var - CMDER_ROOT=C:\tools\cmdermini

DEBUG(init.bat): Env Var - debug_output=1

Injecting Clink!
DEBUG(init.bat): Looking for Git install root...

DEBUG(:read_version): Env Var - git_executable=C:\tools\cmdermini\vendor\git-for-windows\cmd\git.exe

DEBUG(:read_version): C:\tools\cmdermini\vendor\git-for-windows\cmd\git.exe does not exist.

DEBUG(:validate_version): ARGV[1]=VENDORED, ARGV[2]=

DEBUG(:parse_version): ARGV[1]=VENDORED, ARGV[2]=

DEBUG(:validate_version): Found Git Version for VENDORED: ...

DEBUG(:read_version): Env Var - git_executable=C:\Program Files\Git\cmd\git.exe

DEBUG(:read_version): Env Var - GIT_VERSION_USER=2.27.0.windows.1

DEBUG(:validate_version): ARGV[1]=USER, ARGV[2]=2.27.0.windows.1

DEBUG(:parse_version): ARGV[1]=USER, ARGV[2]=2.27.0.windows.1

DEBUG(:validate_version): Found Git Version for USER: 2.27.0.windows.1

DEBUG(Comparing:):

DEBUG(USER:): 2.27.0.windows.1

DEBUG(VENDORED:): ...

DEBUG(:read_version): Env Var - git_executable=C:\Program Files\Git\mingw64\bin\git.exe

DEBUG(:read_version): Env Var - GIT_VERSION_USER=2.27.0.windows.1

DEBUG(:validate_version): ARGV[1]=USER, ARGV[2]=2.27.0.windows.1

DEBUG(:parse_version): ARGV[1]=USER, ARGV[2]=2.27.0.windows.1

DEBUG(:validate_version): Found Git Version for USER: 2.27.0.windows.1

DEBUG(Comparing:):

DEBUG(USER:): 2.27.0.windows.1

DEBUG(VENDORED:): ...

DEBUG(Using found Git '2.27.0.windows.1' from 'C:\Program Files\Git\mingw64\bin...):

DEBUG(Using Git from 'C:\Program Files\Git\mingw64\bin...):

DEBUG(init.bat): Preferring Windows commands

The system cannot find the file specified.
DEBUG(:enhance_path): Env Var INSIDE PATH \=\\ - found=0

DEBUG(:enhance_path): Env Var END PATH \=\\ - found=0

DEBUG(:enhance_path): Appending ''

DEBUG(:enhance_path): END Env Var - PATH=C:\Program Files\AdoptOpenJDK\jdk-11.0.7.10-hotspot\bin;C:\tools\ruby27\bin;C:\Python38\Scripts\;C:\Python38\;C:\tools\ruby26\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Python37\Scripts\;C:\Python37\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\tools\BCURRAN3;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\PostgreSQL\12\bin;C:\tools\cmdermini;C:\Program Files\Sublime Text 3;C:\Program Files (x86)\Gpg4win\..\GnuPG\bin;C:\Program Files\Java\jdk1.8.0_211\bin;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Yarn\bin\;C:\HashiCorp\Vagrant\bin;C:\Program Files\dotnet\;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\nodejs\;C:\Users\Jakub\AppData\Local\Programs\Fiddler;C:\Users\Jakub\spicetify-cli;C:\Program Files\Oracle\VirtualBox;C:\Program Files (x86)\CrowdinCLI;C:\Program Files (x86)\GitHub CLI\;C:\Users\Jakub\AppData\Local\Yarn\bin;C:\Users\Jakub\AppData\Roaming\npm;C:\ProgramData\chocolatey\lib\gsudo\bin\;C:\Users\Jakub\AppData\Local\Microsoft\WindowsApps;

DEBUG(:enhance_path): Env Var \=\\ - found=1

DEBUG(init.bat): Env Var - git_locale="C:\Program & echo.
DEBUG(init.bat): Env Var - GIT_INSTALL_ROOT=C:\Program Files\Git\mingw64\bin

DEBUG(init.bat): Found Git in: 'C:\Program Files\Git\mingw64\bin'

DEBUG(:enhance_path): Env Var INSIDE PATH C:\\tools\\cmdermini\\vendor\\bin - found=0

DEBUG(:enhance_path): Env Var BEGIN PATH C:\\tools\\cmdermini\\vendor\\bin - found=0

DEBUG(:enhance_path): Prepending 'C:\tools\cmdermini\vendor\bin'

DEBUG(:enhance_path): END Env Var - PATH=C:\tools\cmdermini\vendor\bin;C:\Program Files\AdoptOpenJDK\jdk-11.0.7.10-hotspot\bin;C:\tools\ruby27\bin;C:\Python38\Scripts\;C:\Python38\;C:\tools\ruby26\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Python37\Scripts\;C:\Python37\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\tools\BCURRAN3;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\PostgreSQL\12\bin;C:\tools\cmdermini;C:\Program Files\Sublime Text 3;C:\Program Files (x86)\Gpg4win\..\GnuPG\bin;C:\Program Files\Java\jdk1.8.0_211\bin;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Yarn\bin\;C:\HashiCorp\Vagrant\bin;C:\Program Files\dotnet\;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\nodejs\;C:\Users\Jakub\AppData\Local\Programs\Fiddler;C:\Users\Jakub\spicetify-cli;C:\Program Files\Oracle\VirtualBox;C:\Program Files (x86)\CrowdinCLI;C:\Program Files (x86)\GitHub CLI\;C:\Users\Jakub\AppData\Local\Yarn\bin;C:\Users\Jakub\AppData\Roaming\npm;C:\ProgramData\chocolatey\lib\gsudo\bin\;C:\Users\Jakub\AppData\Local\Microsoft\WindowsApps;

DEBUG(:enhance_path): Env Var C:\\tools\\cmdermini\\vendor\\bin - found=1

DEBUG(:enhance_path_recursive): Env Var - add_path=

DEBUG(:enhance_path_recursive): Env Var - position=

DEBUG(:enhance_path_recursive): Env Var - depth=0

DEBUG(:enhance_path_recursive): Env Var - max_depth=1

DEBUG(:enhance_path): Env Var INSIDE PATH C:\\tools\\cmdermini - found=1

DEBUG(:enhance_path): Env Var END PATH C:\\tools\\cmdermini - found=1

DEBUG(init.bat): Env Var - HOME=C:\Users\Jakub\OneDrive\Dokumenty

DEBUG(init.bat): Calling - C:\tools\cmdermini\config\user_profile.cmd

As far as I can tell from the debug logs, this appears to be an issue with wrong folder getting assigned to GIT_INSTALL_ROOT variable - git's root directory for me is C:\Program Files\Git, not C:\Program Files\Git\mingw64\bin (nor is it even a proper bin directory in this context as C:\Program Files\Git\cmd\git.exe is the executable that should be used in cmd)

// to workaround this issue, I temporarily added GIT_INSTALL_ROOT environment variable and pointed it at C:\Program Files\Git

馃槹 Can't Reproduce

Most helpful comment

This will be fixed in 1.3.16

All 15 comments

@jack1142 I just installed Git for windows and Cmder Mini and I do not see the issue.

Git related env variables:

C:\Users\dtgam\cmder_mini
位 set GIT
git_executable=C:\Program Files\Git\cmd\git.exe
GIT_INSTALL_ROOT=C:\Program Files\Git
git_locale="C:\Program Files\Git\usr\bin\locale.exe"
GIT_VERSION_USER=2.27.0.windows.1

Start of Cmder Mini with Git for Windows x64 installed with default settings:

image

I just downloaded the latest cmder_mini.zip from GH releases, extracted it in different location than the already installed cmder + removed CMDER_ROOT and GIT_INSTALL_ROOT env vars (or rather appended 2 to them so that cmder doesn't use them) so that there's hopefully nothing from old location affecting it and I still have the issue:

image

I misclicked

Let me know if there's anything I can send that would help troubleshoot this.

@jack114 I installed Git for Windows and downloaded and expanded cmder mini and ran cmder and did not see the issue. My test was done on a newly installed Windows 10 that has never had Cmder on it so it is about as clean and unadulterated as you could ask for so I suspect something on your system is the problem. I have no idea what it could be though.

You could post the output of cmder_diag.cmd. Just make sure there is nothing in it you don`t want the world to know before posting it.

I am posting the below for comparison with what you posted.

C:\Users\dtgam\cmder_mini
位 set cmder
CMDER_ALIASES=1
CMDER_CLINK=1
CMDER_CONFIGURED=1
CMDER_INIT_END=20:34:29.53
CMDER_INIT_START=20:34:25.91
CMDER_ROOT=C:\Users\dtgam\cmder_mini
CMDER_SHELL=cmd
CMDER_USER_FLAGS=

C:\Users\dtgam\cmder_mini
位 set git
git_executable=C:\Program Files\Git\cmd\git.exe
GIT_INSTALL_ROOT=C:\Program Files\Git
git_locale="C:\Program Files\Git\usr\bin\locale.exe"
GIT_VERSION_USER=2.27.0.windows.1

C:\Users\dtgam\cmder_mini
位 where git
C:\Program Files\Git\cmd\git.exe
C:\Program Files\Git\mingw64\bin\git.exe

and My debug output:

DEBUG(init.bat): Env Var - CMDER_ROOT=C:\Users\dtgam\cmder_mini

DEBUG(init.bat): Env Var - debug_output=1

DEBUG(init.bat): Looking for Git install root...

DEBUG(:read_version): Env Var - git_executable=C:\Users\dtgam\cmder_mini\vendor\git-for-windows\cmd\git.exe

DEBUG(:read_version): C:\Users\dtgam\cmder_mini\vendor\git-for-windows\cmd\git.exe does not exist.

DEBUG(:validate_version): ARGV[1]=VENDORED, ARGV[2]=

DEBUG(:parse_version): ARGV[1]=VENDORED, ARGV[2]=

DEBUG(:validate_version): Found Git Version for VENDORED: ...

DEBUG(:read_version): Env Var - git_executable=C:\Program Files\Git\cmd\git.exe

DEBUG(:read_version): Env Var - GIT_VERSION_USER=2.27.0.windows.1

DEBUG(:validate_version): ARGV[1]=USER, ARGV[2]=2.27.0.windows.1

DEBUG(:parse_version): ARGV[1]=USER, ARGV[2]=2.27.0.windows.1

DEBUG(:validate_version): Found Git Version for USER: 2.27.0.windows.1

DEBUG(Comparing:):

DEBUG(USER:): 2.27.0.windows.1

DEBUG(VENDORED:): ...

DEBUG(Using found Git '2.27.0.windows.1' from 'C:\Program Files\Git...):

DEBUG(Using Git from 'C:\Program Files\Git...):

DEBUG(init.bat): Preferring Windows commands

DEBUG(:enhance_path): Env Var INSIDE PATH C:\\Program\ Files\\Git\\cmd - found=1

DEBUG(:enhance_path): Env Var END PATH C:\\Program\ Files\\Git\\cmd - found=1

DEBUG(:enhance_path): Env Var INSIDE PATH C:\\Program\ Files\\Git\\mingw64\\bin - found=0

DEBUG(:enhance_path): Env Var END PATH C:\\Program\ Files\\Git\\mingw64\\bin - found=0

DEBUG(:enhance_path): Appending 'C:\Program Files\Git\mingw64\bin'

DEBUG(:enhance_path): END Env Var - PATH=C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5\ConEmu\Scripts;C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5;C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5\ConEmu;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Users\dtgam\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Git\mingw64\bin

DEBUG(:enhance_path): Env Var C:\\Program\ Files\\Git\\mingw64\\bin - found=1

DEBUG(:enhance_path): Env Var INSIDE PATH C:\\Program\ Files\\Git\\usr\\bin - found=0

DEBUG(:enhance_path): Env Var END PATH C:\\Program\ Files\\Git\\usr\\bin - found=0

DEBUG(:enhance_path): Appending 'C:\Program Files\Git\usr\bin'

DEBUG(:enhance_path): END Env Var - PATH=C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5\ConEmu\Scripts;C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5;C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5\ConEmu;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Users\dtgam\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin

DEBUG(:enhance_path): Env Var C:\\Program\ Files\\Git\\usr\\bin - found=1

DEBUG(init.bat): Env Var - git_locale="C:\Program & echo.
DEBUG(init.bat): Env Var - GIT_INSTALL_ROOT=C:\Program Files\Git

DEBUG(init.bat): Found Git in: 'C:\Program Files\Git'

DEBUG(:enhance_path): Env Var INSIDE PATH C:\\Users\\dtgam\\cmder_mini\\vendor\\bin - found=0

DEBUG(:enhance_path): Env Var BEGIN PATH C:\\Users\\dtgam\\cmder_mini\\vendor\\bin - found=0

DEBUG(:enhance_path): Prepending 'C:\Users\dtgam\cmder_mini\vendor\bin'

DEBUG(:enhance_path): END Env Var - PATH=C:\Users\dtgam\cmder_mini\vendor\bin;C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5\ConEmu\Scripts;C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5;C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5\ConEmu;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Users\dtgam\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin

DEBUG(:enhance_path): Env Var C:\\Users\\dtgam\\cmder_mini\\vendor\\bin - found=1

DEBUG(:enhance_path_recursive): Env Var - add_path=

DEBUG(:enhance_path_recursive): Env Var - position=

DEBUG(:enhance_path_recursive): Env Var - depth=0

DEBUG(:enhance_path_recursive): Env Var - max_depth=1

DEBUG(:enhance_path): Env Var INSIDE PATH C:\\Users\\dtgam\\cmder_mini - found=0

DEBUG(:enhance_path): Env Var END PATH C:\\Users\\dtgam\\cmder_mini - found=0

DEBUG(:enhance_path): Appending 'C:\Users\dtgam\cmder_mini'

DEBUG(:enhance_path): END Env Var - PATH=C:\Users\dtgam\cmder_mini\vendor\bin;C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5\ConEmu\Scripts;C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5;C:\Users\dtgam\cmder_mini\vendor\conemu-maximus5\ConEmu;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\Git\cmd;C:\Users\dtgam\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Users\dtgam\cmder_mini

DEBUG(:enhance_path): Env Var C:\\Users\\dtgam\\cmder_mini - found=1

DEBUG(init.bat): Env Var - HOME=C:\Users\dtgam

DEBUG(init.bat): Calling - C:\Users\dtgam\cmder_mini\config\user_profile.cmd

By comparing your output to mine, I wonder - how is it that in your case it doesn't check further after first line from where git.exe output? I don't know that much about batch language, but shouldn't this iterate through all of the lines and call these "functions" on each path that was outputted by where git.exe?
I didn't have this issue with cmder v1.3.14 and it seems to make sense to me as there was a GOTO instruction ran as soon as GIT_INSTALL_ROOT was non-empty (here) unlike in v1.3.15 where it's called only after the whole loop ends.

Here's the output of cmder_diag.cmd:
https://gist.github.com/jack1142/4bb119be0bea40a3122d9e161cd3e3f2

@jack1142 Yeah I noticed that too. I don't know why it would behave differently for me than with you. Working on a possble fix but I will need you to test it since I cannot reproduce it.

@jack1142 Try this

This will be fixed in 1.3.16

just to add informations .

I have the same problem, when installing git, I check this options (this can maybe help to reproduce ?) :
image

So I think git add more things in the path, so I my path I see :

- C:\Program Files\Git\cmd
- C:\Program Files\Git\mingw64\bin
- C:\Program Files\Git\usr\bin

And running where git return

位 where git
C:\Program Files\Git\cmd\git.exe
C:\Program Files\Git\mingw64\bin\git.exe

And finally, the debug say :

DEBUG(Using found Git '2.27.0.windows.1' from 'C:\Program Files\Git\mingw64\bin...):

I'll test the 1.3.16 when available .

I had the very same problem and I can confirm it's fixed in 3.16 ;-) And @thib3113 was maybe right that Git installation could be the culprit cause I'm also installing git with that "Use Git and optional Linux tools from the Command Prompt" option.

fixed in 3.16 for me too

Good to hear, sorry it took so long.

Good to hear, sorry it took so long.

No problem, that's just a warning for me, the soft continue to work

Was this page helpful?
0 / 5 - 0 ratings

Related issues

danwellman picture danwellman  路  3Comments

GlassGruber picture GlassGruber  路  3Comments

edgariscoding picture edgariscoding  路  3Comments

vincentntang picture vincentntang  路  3Comments

giuliannosbrugnera picture giuliannosbrugnera  路  3Comments