Como uso o gerenciador de pacotes interno do Windows 10?

13

Estou achando o gerenciamento de pacotes do Windows 10 não muito intuitivo. Abaixo estão minhas aventuras ao tentar instalar o VLC, que parece um caso de teste muito comum para um gerenciador de pacotes.

Find-Package vlc

Não

Find-Package -Update

Não

Install-Package --help

Não

Install-Package /?

Não

Install-Package vlc

The provider 'nuget v2.8.5.127' is not installed.
nuget may be manually downloaded from https://oneget.org/nuget-anycpu-2.8.5.127.exe and installed.
Would you like PackageManagement to automatically download and install 'nuget' now?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):
Install-Package : No match was found for the specified search criteria and package name 'vlc'.
At line:1 char:1
+ Install-Package vlc
+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], Ex
   ception
    + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage

Não

Register-PackageSource -Name chocolatey -Location http://chocolatey.org/api/v2 -Provider PSModule -Trusted -Verbose

Talvez?

Install-Package vlc
WARNING: The module 'vlc' cannot be installed or updated because it is not a properly-formed module.

Não

Jonathan
fonte
Tente Install-Package -Name VLC.
MC10 15/08/2015
Install-Package -Name VLC Install-Package : No match was found for the specified search criteria and package name 'VLC'.
Jonathan
Não Find-Package -Name VLCencontrar qualquer coisa para você? Além disso, verifique se diferencia maiúsculas de minúsculas.
MC10 15/08/15
Find-Package -Name VLCFind-Package: Nenhuma correspondência foi encontrada para os critérios de pesquisa especificados e o nome do pacote 'VLC'. Na linha: 1 char: 1 + Localizar-pacote-nome VLC + ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (Microsoft.Power ... ets .FindPackage: FindPackage) [Find-Package], exceto n + FullyQualifiedErrorId: NoMatchFoundForCriteria, Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
Jonathan
1
Você pode querer fazer o update-helpprimeiro.
BrunoLM

Respostas:

10

Você estava perto. Primeiro, você deve definir a política de execução para permitir scripts, caso contrário, ela falhará silenciosamente ao relatar o sucesso ( bug ):

Set-ExecutionPolicy RemoteSigned

Tanto o provedor de pacotes (plugin Chocolatey) quanto a origem do pacote (URL para o repositório Chocolatey específico) precisam ser instalados / registrados no PackageManagement. O Get-PackageProvider com o -Forcesinalizador faz com que seja inicializado, o que aparentemente cuida de ambos (mais na ajuda sobre -Force):

Get-PackageProvider Chocolatey -Force | Out-Null

Então eu posso procurar o pacote:

Find-Package vlc -Force

Name       Version          Source           Summary
----       -------          ------           -------
vlc        2.2.1.20150630   chocolatey       VLC Media Player

E instale-o ( -Forcepara não solicitar confirmação):

Install-Package vlc -Force | Out-Null

insira a descrição da imagem aqui

Vimes
fonte
Isso não funciona para mim em um Windows 10 RTM limpo, apenas coloca tudo em C: \ Chocolatey \ lib, mas na verdade não instala os programas ou executa os scripts necessários para isso.
RedShift
3
Ah, há um bug terrivelmente confuso no PackageManagement em que esse comportamento exato acontece, a menos que, antes de instalar pacotes, você defina a política de execução para permitir scripts (eu uso o RemoteSigned). Vou atualizar minha resposta.
Vimes
1
Ótimo ouvir isso. Espero que eles resolvam essas rugas. Não se esqueça de marcar a resposta se você gosta de :-)
Vimes
Como eu instalaria vários pacotes em uma linha? Esse é o padrão do setor para todos os gerenciadores de pacotes. Parece eu recebo um erro se eu correrInstall-Package vlc firefox -Force
Jonathan
1
@ JonathanLeaders, basta colocar vírgulas entre os nomes dos pacotes.
Vimes