diff --git a/CHANGELOG.md b/CHANGELOG.md index 15ad64f07e..73b1a5ee36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - **env:** Avoid automatic expansion of `%%` in env ([#5395](https://github.com/ScoopInstaller/Scoop/issues/5395)) - **install:** Fix download from private GitHub repositories ([#5361](https://github.com/ScoopInstaller/Scoop/issues/5361)) - **scoop-info:** Fix errors in file size collection when `--verbose` ([#5352](https://github.com/ScoopInstaller/Scoop/pull/5352)) +- **shim:** Use bash executable directly ([#5433](https://github.com/ScoopInstaller/Scoop/issues/5433)) ### Performance Improvements diff --git a/lib/core.ps1 b/lib/core.ps1 index 7b1cbf0e02..4dee038405 100644 --- a/lib/core.ps1 +++ b/lib/core.ps1 @@ -905,19 +905,9 @@ function shim($path, $global, $name, $arg) { ) -join "`n" | Out-UTF8File $shim -NoNewLine } else { warn_on_overwrite "$shim.cmd" $path - # find path to Git's bash so that batch scripts can run bash scripts - if (!(Get-CommandPath git)) { - error "Can't shim '$shim': 'git' is needed but not installed." - error "Please install git ('scoop install git') and try again." - exit 1 - } - $gitdir = (Get-Item (Get-CommandPath git) -ErrorAction:Stop).Directory.Parent - if ($gitdir.FullName -imatch 'mingw') { - $gitdir = $gitdir.Parent - } @( "@rem $resolved_path", - "@`"$(Join-Path (Join-Path $gitdir.FullName 'bin') 'bash.exe')`" `"$resolved_path`" $arg %*" + "@bash `"$resolved_path`" $arg %*" ) -join "`r`n" | Out-UTF8File "$shim.cmd" warn_on_overwrite $shim $path