Отсутствует поддержка git, установите posh-git с помощью Install-Module posh-git и перезапустите cmder.

Я хочу работать с git из командной оболочки powershell.

Ошибки

Cmder выводит следующую ошибку:

Отсутствует поддержка git, установите posh-git с помощью Install-Module posh-git и перезапустите cmder.

Если я запустил Install-Module posh-git cmder, он распечатает следующую ошибку:

  • Install-Module <<<< posh-git
    • CategoryInfo : ObjectNotFound: (Install-Module:String) [], CommandNotFoundException
    • FullyQualifiedErrorId: CommandNotFoundException

Что я сделал / попробовал

Проблема

Мои команды git работают, но не показывают ветку, над которой я работаю.

Так как я могу это исправить?


person Fabian Schmick    schedule 04.03.2016    source источник
comment
Установил posh-git вручную ‹- Что ты здесь делал?   -  person Ryan Bemrose    schedule 05.03.2016
comment
Кроме того, какая версия PowerShell у вас установлена? Install-Module требуется 3.0 или новее.   -  person Ryan Bemrose    schedule 05.03.2016
comment
Я следовал руководству по установке (ручному) для posh git здесь: ссылка Моя версия PowerShell - версия 2.0 - ›поэтому я попытаюсь обновить Powershell и снова запустить эту команду Install-Module posh-git.   -  person Fabian Schmick    schedule 05.03.2016
comment
Возможный дубликат термина ' Install-Module 'не распознается как имя командлета   -  person Ryan Bemrose    schedule 05.03.2016
comment
Исключение CommandNotFoundException вызвано тем, что Install-Module требует установки Powershell 3.0 или PSGet. Однако ручная установка должна работать. Убедитесь, что файл posh-git.psm1 находится где-то в $env:PSModulePath.   -  person Ryan Bemrose    schedule 05.03.2016
comment
Кроме того, по прихоти попробуйте перезапустить PowerShell после запуска install.ps1, если вы еще этого не сделали. Затем запустите Import-Module posh-git   -  person Ryan Bemrose    schedule 05.03.2016
comment
Я обновил свой Powershell и снова запустил commend, теперь он работает нормально. Спасибо за помощь :)   -  person Fabian Schmick    schedule 05.03.2016


Ответы (2)


Исключение CommandNotFoundException вызвано тем, что Install-Module требует установки Powershell 3.0 или PSGet. Однако ручная установка должна работать.

Убедитесь, что файл posh-git.psm1 находится где-то в $env:PSModulePath. Затем перезапустите PowerShell и запустите Import-Module posh-git. Это должно заставить его найти модуль.

person Ryan Bemrose    schedule 04.03.2016

Этот ответ предназначен для тех случаев, когда posh-git не нужен. posh-git может привести к значительной задержке отображения подсказки.

В файле профиля cmder (\ vendor \ profile.ps1) закомментируйте следующие строки в функции «checkGit».

function checkGit($Path) {
    #if (Test-Path -Path (Join-Path $Path '.git')) {
    #    $gitLoaded = Import-Git $gitLoaded
    #    Write-VcsStatus
    #    return
    #}

Примечание. К сожалению, этот ответ не отвечает на исходный запрос на просмотр текущей ветки. Я думаю, что это решение может быть лучше для некоторых людей.

Обновление:

Вот лучшее решение, которое не нужно будет повторно применять каждый раз при обновлении cmder:

Добавьте следующую функцию в \ config \ user_profile.ps1 (полный путь для моего шоколадного установочного файла - c: \ tools \ cmdermini \ config \ user_profile.ps1):

function checkGit() {}

person Josh    schedule 08.11.2017
comment
Да, это тот ответ, который я ищу. Было бы лучше, если бы вы могли изменить свой блок кода с <quote> на <code>. Вы можете сделать это, добавив 4 пробела перед каждой строкой кода. И для удобства используйте <# ... #> (блок комментариев в стиле PowerShell) вместо #. - person Kyan; 19.11.2017
comment
БЛАГОДАРЮ ВАС! Это сводит меня с ума уже несколько месяцев. - person Kieron; 20.03.2019
comment
Вместо того, чтобы полностью отключать posh-git, вы также можете $GitPromptSettings.EnableFileStatus = $false выключить git status проверку для каждого приглашения без потери большей части раскрытия вкладки. - person dahlbyk; 27.01.2020