Comment utiliser le gestionnaire de packages intégré à Windows 10?

13

Je trouve que la gestion des packages Windows 10 n'est pas très intuitive. Voici mes aventures en essayant d'installer VLC, ce qui ressemble à un cas de test très courant pour un gestionnaire de paquets.

Find-Package vlc

Nan

Find-Package -Update

Nan

Install-Package --help

Nan

Install-Package /?

Nan

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

Nan

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

Peut être?

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

Nan

Jonathan
la source
Install-Package -Name VLC Install-Package : No match was found for the specified search criteria and package name 'VLC'.
Jonathan
Ne Find-Package -Name VLCtrouve rien pour vous? Vérifiez également s'il est sensible à la casse.
MC10
Find-Package -Name VLCFind-Package: aucune correspondance n'a été trouvée pour les critères de recherche et le nom de package «VLC» spécifiés. À la ligne: 1 caractère: 1 + Find-Package -Name VLC + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (Microsoft.Power ... ets .FindPackage: FindPackage) [Find-Package], Exceptio n + FullyQualifiedErrorId: NoMatchFoundForCriteria, Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
Jonathan
1
Vous voudrez peut-être faire une update-helppremière.
BrunoLM

Réponses:

10

Tu étais proche. Tout d'abord, vous devez définir la stratégie d'exécution pour autoriser les scripts, sinon elle échouera silencieusement lors du signalement du succès ( bogue ):

Set-ExecutionPolicy RemoteSigned

Le fournisseur de package (plug-in Chocolatey) et la source du package (URL vers le référentiel Chocolatey spécifique) doivent être installés / enregistrés auprès de PackageManagement. Get-PackageProvider avec l' -Forceindicateur le fait démarrer, ce qui apparemment s'occupe des deux (plus dans l'aide à propos -Force):

Get-PackageProvider Chocolatey -Force | Out-Null

Ensuite, je peux rechercher le package:

Find-Package vlc -Force

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

Et installez-le ( -Forcepour qu'il ne demande pas de confirmation):

Install-Package vlc -Force | Out-Null

entrez la description de l'image ici

Vimes
la source
Cela ne fonctionne pas pour moi sur un Windows 10 RTM propre, il met simplement tout dans C: \ Chocolatey \ lib mais n'installe pas réellement les programmes ou n'exécute pas les scripts requis pour le faire.
RedShift
3
Oh, il y a un bug terriblement déroutant dans PackageManagement où ce comportement exact se produit sauf si, avant d'installer des packages, vous définissez la politique d'exécution pour autoriser les scripts (j'utilise RemoteSigned). Je mettrai à jour ma réponse.
Vimes
1
Ravi de l'entendre. J'espère qu'ils vont aplanir ces rides. N'oubliez pas de cocher la réponse si vous le souhaitez :-)
Vimes
Comment installer plusieurs packages sur une seule ligne? C'est la norme de l'industrie pour tous les gestionnaires de packages. Il semble que j'obtienne une erreur si je coursInstall-Package vlc firefox -Force
Jonathan
1
@JonathanLeaders, mettez simplement des virgules entre les noms des packages.
Vimes