Come uso il gestore pacchetti integrato di Windows 10?


13

Trovo la gestione dei pacchetti di Windows 10 non molto intuitiva. Di seguito sono riportate le mie avventure nel tentativo di installare VLC, che suona come un caso di test molto comune per un gestore di pacchetti.

Find-Package vlc

no

Find-Package -Update

no

Install-Package --help

no

Install-Package /?

no

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

no

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

Può essere?

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

no



Install-Package -Name VLC Install-Package : No match was found for the specified search criteria and package name 'VLC'.
Jonathan,

Non Find-Package -Name VLCtrovare qualcosa per te? Inoltre, controlla se fa distinzione tra maiuscole e minuscole.
MC10

Find-Package -Name VLCTrova pacchetto: non è stata trovata alcuna corrispondenza per i criteri di ricerca specificati e il nome del pacchetto "VLC". Alla riga: 1 carattere: 1 + Trova-pacchetto -Nome VLC + ~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (Microsoft.Power ... ets .FindPackage: FindPackage) [Trova-pacchetto], Exceptio n + FullyQualifiedErrorId: NoMatchFoundForCriteria, Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
Jonathan

1
Potresti voler fare un update-helpprimo.
BrunoLM,

Risposte:


10

Eri vicino. Innanzitutto, devi impostare la politica di esecuzione per consentire gli script, altrimenti fallirà silenziosamente mentre segnala il successo ( bug ):

Set-ExecutionPolicy RemoteSigned

Sia il fornitore del pacchetto (plugin Chocolatey) che l'origine del pacchetto (URL per specifico repository Chocolatey) devono essere installati / registrati con PackageManagement. Get-PackageProvider con il -Forceflag fa sì che si avvii il bootstrap, che apparentemente si occupa di entrambi (più nella guida su -Force):

Get-PackageProvider Chocolatey -Force | Out-Null

Quindi posso cercare il pacchetto:

Find-Package vlc -Force

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

E installalo ( -Forcequindi non richiede conferma):

Install-Package vlc -Force | Out-Null

inserisci qui la descrizione dell'immagine


Questo non funziona per me su un Windows 10 RTM pulito, mette semplicemente tutto in C: \ Chocolatey \ lib ma in realtà non installa i programmi o esegue gli script necessari per farlo.
RedShift

3
Oh, c'è un bug terribilmente confuso in PackageManagement in cui si verifica quel comportamento esatto a meno che, prima di installare i pacchetti, imposti la politica di esecuzione per consentire gli script (io uso RemoteSigned). Aggiornerò la mia risposta.
Vimes,

1
Buono a sapersi. Spero che si appianino queste rughe. Non dimenticare di contrassegnare la risposta se ti piace :-)
Vimes

Come installerei più pacchetti in una riga? Questo è lo standard del settore per tutti i gestori di pacchetti. Sembra che ottenga un errore se corroInstall-Package vlc firefox -Force
Jonathan

1
@JonathanLeaders, basta inserire le virgole tra i nomi dei pacchetti.
Vimes
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.