Проблемы с установкой пошаговых мерзавцев - PullRequest
0 голосов
/ 30 декабря 2018

Я хочу установить Posh-Git на ноутбуке, но при попытке установить ж / команду "PowerShellGet \ Install-Module Posh-Git -Scope CurrentUser -AllowPrerelease -Force" я получаю сообщение об ошибке:

Install-Module : A parameter cannot be found that matches parameter name
'AllowPrerelease'.
At line:1 char:58
+ ... et\Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force
+                                                   ~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Install-Module], Paramet
   erBindingException
    + FullyQualifiedErrorId : NamedParameterNotFound,Install-Module

Читая сообщения об ошибках на сайте github, я вижу, что мне нужно обновить мой модуль PowerShellGet с помощью «Install-Module PowerShellGet -S справиться с CurrentUser -Force -AllowClobber», но это дает ошибку:

PackageManagement\Install-Package : The module 'PackageManagement' cannot be
installed or updated because the authenticode signature of the file
'PackageManagement.cat' is not valid.
At C:\Program
Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1809
char:21
+ ...          $null = PackageManagement\Install-Package @PSBoundParameters
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (Microsoft.Power....InstallP
   ackage:InstallPackage) [Install-Package], Exception
    + FullyQualifiedErrorId : InvalidAuthenticodeSignature,ValidateAndGet-Au
   thenticodeSignature,Microsoft.PowerShell.PackageManagement.Cmdlets.Insta
  llPackage

У меня естьгуглил и пробовал несколько способов обновить PowerShellGet с v1.0.0.1, который показывает на моем ноутбуке, но все безрезультатно.Любой совет о том, как исправить это, будет принята с благодарностью.

1 Ответ

0 голосов
/ 30 декабря 2018

Ошибка конкретная.Вы используете параметр / переключатель, который не существует по умолчанию для модулей.

# get function / cmdlet details
(Get-Command -Name Install-Module).Parameters.Keys
<#
Name
InputObject
MinimumVersion
MaximumVersion
RequiredVersion
Repository
Credential
Scope
Proxy
ProxyCredential
AllowClobber
SkipPublisherCheck
Force
Verbose
Debug
ErrorAction
WarningAction
InformationAction
ErrorVariable
WarningVariable
InformationVariable
OutVariable
OutBuffer
PipelineVariable
WhatIf
Confirm
#>
Get-help -Name Install-Module -Examples
Get-help -Name Install-Module -Full
Get-help -Name Install-Module -Online

Согласно документам:

Предварительная версия добавлена ​​в PowerShellGet и PowerShell Gallery

Разработчики должны добавить это или недоступно дляиспользуйте.

Издатели просто добавляют строку предварительного выпуска (т. е. часть, которая идет после «2.0.0») в метаданные, и версия будет считаться предварительным выпуском.Например:

@{
   ModuleVersion = '2.0.0'
   #---
      PrivateData = @{
         PSData = @{
            Prerelease = '-alpha'
      }
   }
}

Этот ...

PowerShellGet\Install-Module

… также не является общепринятым (как мне известно) способом установки модуля.Вам нужен только командлет Install-Module, PowerShell уже знает модуль, из которого он получен, и автоматически загружает его, если он еще не загружен.

Попробуйте это ...

Find-Module -Name posh-git

Version    Name       Repository           Description
-------    ----       ----------           -----------
0.7.3      posh-git   PSGallery            Provides prompt ...



Find-Module -Name posh-git | 
Save-Module -Path "$env:USERPROFILE\Documents\WindowsPowerShell\Modules" # -WhatIf

What if: Performing the operation "Save Package" on target "'posh-git' to location 'C:\Users\Daniel\Documents\WindowsPowerShell\Modules'".


Install-Module -Name posh-git -Scope CurrentUser -Force
...