Проблема импорта Intellij-java.Ио.IOException: не удается запустить программу "git": error=2, нет такого файла или каталога

Я пытаюсь импортировать проект из github в intellij и запускаю эту трассировку стека:

причинены:

java.Ио.IOException: не удается запустить программу "git": error=2, нет такого файла или каталог common_c6b3s0xd8gl4x9r47zsnga1nq$_run_closure12.doCall (/Users/jrengh/Documents/teri / common.Gradle в:97)

Я видел эту проблему, опубликованную в интернете много, и общее решение, похоже, состоит в том, чтобы убедиться, что исполняемый файл git правильно указан в поле "путь к исполняемому файлу git" в разделе Настройки > контроль версий > Git. Я сделал это, протестировал соединение и получил успешное сообщение.

проблема связана с этим методом задачи, вызываемым в отдельном файле gradle, расположенном в одной из зависимостей моего проекта:

общие.Gradle в

task buildInfo {
    def cmd = "git rev-parse --short HEAD"
    def proc = cmd.execute()
    project.ext.revision = proc.text.trim()
    cmd = "git show -s --format=%ct HEAD"
    proc = cmd.execute()
    project.ext.timestamp = proc.text.trim()
}

таким образом, по сути, intellij не распознает "git" в команде, которую я пытаюсь выполнить выше, хотя я успешно загрузили исполняемый файл git. У кого-нибудь есть полезные советы?

2 ответов


Я только что установил новый Ubuntu Gnome 15.10 и Git не был установлен.

на Ubuntu для установки Git:

sudo apt-get install git

Intellij Idea, конечно, не может выполнить команду, которую он не находит.


Итак, как оказалось, если я использовал полное расположение каталога ('/usr/local/git/bin/git 'в моем случае) вместо просто" git " в этих командных исполнениях, то проблема была решена. Так, например, первая строка метода должна была читать "def proc = / usr/local/git/bin / git rev-parse --short HEAD".

Если бы я пытался отредактировать этот код в настройке команды (например, вернуть его в github для других членов моей команды), мне нужно было бы псевдоним расположение каталога, чтобы "git" мог оставаться в коде и все еще работать на моей машине; однако, поскольку я не планирую толкать это обратно в github, это все, что мне нужно.