Erro ao tentar instalar módulos prerelease no PowerShell
O PowerShell permite que autores de módulo publiquem seus módulos com um status de pré-lançamento (“prerelease”) para indicar que ainda estão em fase de testes.
Daí você tentou instalar um módulo desses e obteve o erro “Install-Module : A parameter cannot be found that matches parameter name ‘AllowPreRelease’.”
#comofaz?
Primeiro, o básico: Para instalar um módulo em pré-lançamento, você usa a chave -AllowPreRelease
do cmdlet Install-Module.
O problema
Vamos assumir que você queira instalar a versão de pré-lançamento mais recente do TfsCmdlets. O comando seria:
1
Install-Module TfsCmdlets -AllowPreRelease
E você recebe este erro:
1
2
3
4
5
6
Install-Module : A parameter cannot be found that matches parameter name 'AllowPreRelease'.
At line:1 char:27
+ Install-Module TfsCmdlets -AllowPreRelease
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Install-Module], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Install-Module
A causa
A chave -AllowPreRelease
requer uma versão mais nova do módulo PowerShellGet. A versão que vem pré-instalada no Windows não suporta a instalação de módulos em pré-lançamento.
E como o módulo não foi instalado via PowerShell Gallery (ele vem pré-instalado no Windows, lembra?) não é possível atualizá-lo via Update-Module
.
A solução
Assim, a solução é abrir um prompt elevado do PowerShell e executar o seguinte comando:
1
Install-Module PowerShellGet -Force
Agora você consegue instalar uma versão de pré-lançamento do TfsCmdlets (ou de qualquer outro módulo PowerShell).
Um abraço,
Igor
-
Tags:
- PowerShell
- TfsCmdlets
28/11/2019 | Por Igor Abade V. Leite | Em Técnico | Tempo de leitura: 1 min.