question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Error: GitVersion: Could not locate executable.

See original GitHub issue

What You Are Seeing?

Error: GitVersion: Could not locate executable.

What is Expected?

GitVersion to return the correct version information for my repository

What version of Cake are you using?

Version 0.13.0+Branch.main.Sha.f7346f2a5fb4e19a24cf15780ce635529f921be4

Are you running on a 32 or 64 bit system?

64

What environment are you running on? Windows? Linux? Mac?

Windows 10

Are you running on a CI Server? If so, which one?

No

How Did You Get This To Happen? (Steps to Reproduce)

  • Download build.ps1 from cake repository
  • create a cake script with 1 task with the following lines
GitVersion assertedVersions = context.GitVersion(new GitVersionSettings
{
    OutputType = GitVersionOutput.Json,
});
  • Run build script

Note: I can run git commands from the command line without issue. It appears that the “bootstrapper” is not installing the gitversion.exe and instead is assuming that it is installed on the system already.

Output Log

Preparing to run build script… Running build script… Module directory does not exist. Analyzing build script… Analyzing E:/Projects/source/FrameworkAssets/CoreFunctionality/Mobile/build.cake… Analyzing E:/Projects/source/FrameworkAssets/CoreFunctionality/Mobile/tools/versionUtils.cake… Analyzing E:/Projects/source/FrameworkAssets/CoreFunctionality/Mobile/tools/settingsUtils.cake… Processing build script… Installing addins… Package Cake.Json has already been installed. The addin Cake.Json will reference Cake.Json.dll. The addin Cake.Json will reference Newtonsoft.Json.dll. Package Cake.Json has already been installed. The addin Cake.Json will reference Cake.Json.dll. The addin Cake.Json will reference Newtonsoft.Json.dll. Creating script session… Adding reference to mscorlib.dll… Adding reference to System.dll… Adding reference to System.Core.dll… Adding reference to System.Data.dll… Adding reference to System.Xml.dll… Adding reference to System.Xml.Linq.dll… Adding reference to Cake.Core.dll… Adding reference to Cake.Common.dll… Adding reference to Cake.exe… Adding reference to Cake.Json.dll… Adding reference to Newtonsoft.Json.dll… Importing namespace Cake.Common… Importing namespace Cake.Common.Build… Importing namespace Cake.Common.Build.AppVeyor… Importing namespace Cake.Common.Build.AppVeyor.Data… Importing namespace Cake.Common.Build.Bitrise… Importing namespace Cake.Common.Build.Bitrise.Data… Importing namespace Cake.Common.Build.ContinuaCI… Importing namespace Cake.Common.Build.ContinuaCI.Data… Importing namespace Cake.Common.Build.Jenkins… Importing namespace Cake.Common.Build.Jenkins.Data… Importing namespace Cake.Common.Build.TravisCI… Importing namespace Cake.Common.Build.TravisCI.Data… Importing namespace Cake.Common.Diagnostics… Importing namespace Cake.Common.IO… Importing namespace Cake.Common.IO.Paths… Importing namespace Cake.Common.Net… Importing namespace Cake.Common.Security… Importing namespace Cake.Common.Solution… Importing namespace Cake.Common.Solution.Project… Importing namespace Cake.Common.Solution.Project.Properties… Importing namespace Cake.Common.Solution.Project.XmlDoc… Importing namespace Cake.Common.Text… Importing namespace Cake.Common.Tools… Importing namespace Cake.Common.Tools.Cake… Importing namespace Cake.Common.Tools.Chocolatey… Importing namespace Cake.Common.Tools.Chocolatey.ApiKey… Importing namespace Cake.Common.Tools.Chocolatey.Config… Importing namespace Cake.Common.Tools.Chocolatey.Features… Importing namespace Cake.Common.Tools.Chocolatey.Install… Importing namespace Cake.Common.Tools.Chocolatey.Pack… Importing namespace Cake.Common.Tools.Chocolatey.Pin… Importing namespace Cake.Common.Tools.Chocolatey.Push… Importing namespace Cake.Common.Tools.Chocolatey.Sources… Importing namespace Cake.Common.Tools.Chocolatey.Upgrade… Importing namespace Cake.Common.Tools.DNU… Importing namespace Cake.Common.Tools.DNU.Build… Importing namespace Cake.Common.Tools.DNU.Pack… Importing namespace Cake.Common.Tools.DNU.Restore… Importing namespace Cake.Common.Tools.DotCover… Importing namespace Cake.Common.Tools.DotCover.Analyse… Importing namespace Cake.Common.Tools.DotCover.Cover… Importing namespace Cake.Common.Tools.DotNetCore… Importing namespace Cake.Common.Tools.DotNetCore.Build… Importing namespace Cake.Common.Tools.DotNetCore.Execute… Importing namespace Cake.Common.Tools.DotNetCore.Pack… Importing namespace Cake.Common.Tools.DotNetCore.Publish… Importing namespace Cake.Common.Tools.DotNetCore.Restore… Importing namespace Cake.Common.Tools.DotNetCore.Run… Importing namespace Cake.Common.Tools.DotNetCore.Test… Importing namespace Cake.Common.Tools.DupFinder… Importing namespace Cake.Common.Tools.Fixie… Importing namespace Cake.Common.Tools.GitLink… Importing namespace Cake.Common.Tools.GitReleaseManager… Importing namespace Cake.Common.Tools.GitReleaseManager.AddAssets… Importing namespace Cake.Common.Tools.GitReleaseManager.Close… Importing namespace Cake.Common.Tools.GitReleaseManager.Create… Importing namespace Cake.Common.Tools.GitReleaseManager.Export… Importing namespace Cake.Common.Tools.GitReleaseManager.Publish… Importing namespace Cake.Common.Tools.GitReleaseNotes… Importing namespace Cake.Common.Tools.GitVersion… Importing namespace Cake.Common.Tools.ILMerge… Importing namespace Cake.Common.Tools.ILRepack… Importing namespace Cake.Common.Tools.InspectCode… Importing namespace Cake.Common.Tools.MSBuild… Importing namespace Cake.Common.Tools.MSTest… Importing namespace Cake.Common.Tools.NSIS… Importing namespace Cake.Common.Tools.NuGet… Importing namespace Cake.Common.Tools.NuGet.Install… Importing namespace Cake.Common.Tools.NuGet.Pack… Importing namespace Cake.Common.Tools.NuGet.Push… Importing namespace Cake.Common.Tools.NuGet.Restore… Importing namespace Cake.Common.Tools.NuGet.SetApiKey… Importing namespace Cake.Common.Tools.NuGet.SetProxy… Importing namespace Cake.Common.Tools.NuGet.Sources… Importing namespace Cake.Common.Tools.NuGet.Update… Importing namespace Cake.Common.Tools.NUnit… Importing namespace Cake.Common.Tools.OctopusDeploy… Importing namespace Cake.Common.Tools.OpenCover… Importing namespace Cake.Common.Tools.ReportGenerator… Importing namespace Cake.Common.Tools.ReportUnit… Importing namespace Cake.Common.Tools.Roundhouse… Importing namespace Cake.Common.Tools.SignTool… Importing namespace Cake.Common.Tools.SpecFlow… Importing namespace Cake.Common.Tools.SpecFlow.StepDefinitionReport… Importing namespace Cake.Common.Tools.SpecFlow.TestExecutionReport… Importing namespace Cake.Common.Tools.TextTransform… Importing namespace Cake.Common.Tools.VSTest… Importing namespace Cake.Common.Tools.WiX… Importing namespace Cake.Common.Tools.XBuild… Importing namespace Cake.Common.Tools.XUnit… Importing namespace Cake.Common.Xml… Importing namespace Cake.Core… Importing namespace Cake.Core.Diagnostics… Importing namespace Cake.Core.IO… Importing namespace Cake.Core.Scripting… Importing namespace Cake.Json… Importing namespace Newtonsoft.Json.Linq… Importing namespace System… Importing namespace System.Collections.Generic… Importing namespace System.IO… Importing namespace System.Linq… Importing namespace System.Text… Importing namespace System.Threading.Tasks… Compiling build script… Loading Settings: .\settings.json Calculating Semantic Version Error: Cake.Core.CakeException: GitVersion: Could not locate executable. at Cake.Core.Tooling.Tool1.RunProcess(TSettings settings, ProcessArgumentBuilder arguments, ProcessSettings processSettings) at Cake.Core.Tooling.Tool1.Run(TSettings settings, ProcessArgumentBuilder arguments, ProcessSettings processSettings, Action1 postAction) at Cake.Common.Tools.GitVersion.GitVersionRunner.Run(GitVersionSettings settings) at Submission#0.VersionUtils.LoadVersionFromGit(ICakeContext context, String assemblyInfoFile) at Submission#0..ctor(Session session, Object& submissionResult) at Submission#0.<Factory>(Session session) at Roslyn.Scripting.CommonScriptEngine.Execute[T](String code, String path, DiagnosticBag diagnostics, Session session, Boolean isInteractive) at Roslyn.Scripting.Session.Execute(String code) at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath, IDictionary2 arguments) at Cake.Commands.BuildCommand.Execute(CakeOptions options) at Cake.CakeApplication.Run(CakeOptions options) at Cake.Program.Main()

Issue Analytics

  • State:closed
  • Created 7 years ago
  • Reactions:1
  • Comments:17 (11 by maintainers)

github_iconTop GitHub Comments

3reactions
gep13commented, Dec 11, 2018

@Svetomechc my advice would be the following…

First of all, make use of the following module:

https://www.gep13.co.uk/blog/introducing-cake.dotnettool.module

Which will allow you to install .net Global Tools into your local tools folder. So, add the following to your build.cake file:

#module nuget:?package=Cake.DotNetTool.Module&version=0.1.0
#tool "dotnet:?package=GitVersion.Tool&version=4.0.1-beta1-51&prerelease"

This will download the Cake.DotNetTool.Module, and then when you run the build, it will download the GitVersion.Tool Global Tool into your local tools folder. NOTE: in order for this to work, you will need to do the following:

./build.sh --bootstrap
./build.sh

Then, in order to use that newly downloaded tool as part of the build, you will need to do something like the following:

  GitVersion(new GitVersionSettings{
    ToolPath = Context.Tools.Resolve("dotnet-gitversion") ?? Context.Tools.Resolve("dotnet-gitversion.exe")
  });

Depending on how exactly you are invoking GitVersion.

1reaction
gep13commented, Dec 11, 2018

@Svetomechc I have created an issue here:

https://github.com/cake-build/cake/issues/2387

Which should hopefully go into the 0.31.0 release of Cake, which would mean that the resolving of the tool part of the above shouldn’t be required.

Read more comments on GitHub >

github_iconTop Results From Across the Web

GitVersion task in Cake Build script is missing library on ...
So I figured out the issue. I had a .gitignore file which removes the x86 and x64 folders from the git commits. Well,...
Read more >
Error: Unable to locate executable file: 'dotnet'.
Our pipeline needs Docker container and dotnet core. It used to run successfully on "Hosted Windows Container" agent pool.
Read more >
Azure DevOps
In Azure DevOps Pipeline (the web based build system) you can call GitVersion either using the Command Line build step or install an...
Read more >
No 'git' executable was found. Please install Git on your ...
I get this error when I add git repo to packages. Unity 2019.3.0a11. How can I solve this?
Read more >
Automatic semantic versioning (bonus: with release notes!)
##[error]Error: Unable to locate executable file: 'dotnet-gitversion'. Please verify either the file path exists or the file can be found ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found