Bagaimana cara menggunakan pengelola paket bawaan Windows 10?

13

Saya menemukan manajemen paket Windows 10 tidak terlalu intuitif. Di bawah ini adalah petualangan saya dalam mencoba menginstal VLC, yang kedengarannya seperti kasus uji yang sangat umum untuk manajer paket.

Find-Package vlc

Nggak

Find-Package -Update

Nggak

Install-Package --help

Nggak

Install-Package /?

Nggak

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

Nggak

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

Mungkin?

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

Nggak

Jonathan
sumber
Install-Package -Name VLC Install-Package : No match was found for the specified search criteria and package name 'VLC'.
Jonathan
Apakah Find-Package -Name VLCmenemukan sesuatu untukmu? Juga, periksa apakah itu case sensitif.
MC10
Find-Package -Name VLCPaket-Temukan: Tidak ditemukan kecocokan untuk kriteria pencarian yang ditentukan dan nama paket 'VLC'. Pada baris: 1 karakter: 1 + Cari-Paket -Nama VLC + ~~~~~~~~~~~~~~~~~~~~~ + + KategoriInfo: ObjectNotFound: (Microsoft.Power ... ets .FindPackage: FindPackage) [Cari-Paket], Pengecualian + FullyQualifiedErrorId: NoMatchFoundForCriteria, Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage
Jonathan
1
Anda mungkin ingin melakukan yang update-helppertama.
BrunoLM

Jawaban:

10

Anda sudah dekat. Pertama, Anda harus menetapkan kebijakan eksekusi untuk mengizinkan skrip, jika tidak maka akan gagal secara diam-diam saat melaporkan keberhasilan ( bug ):

Set-ExecutionPolicy RemoteSigned

Baik penyedia paket (plugin Chocolatey) dan sumber paket (URL ke repo Chocolate khusus) perlu diinstal / terdaftar dengan PackageManagement. Dapatkan-PackageProvider dengan -Forceflag menyebabkannya untuk bootstrap, yang tampaknya menangani keduanya (lebih banyak bantuan tentang -Force):

Get-PackageProvider Chocolatey -Force | Out-Null

Maka saya dapat mencari paket:

Find-Package vlc -Force

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

Dan instal ( -Forcesehingga tidak meminta konfirmasi):

Install-Package vlc -Force | Out-Null

masukkan deskripsi gambar di sini

Vimes
sumber
Ini tidak berfungsi untuk saya pada Windows 10 RTM yang bersih, hanya menempatkan semuanya dalam C: \ Chocolatey \ lib tetapi sebenarnya tidak menginstal program atau menjalankan skrip yang diperlukan untuk melakukannya.
RedShift
3
Oh, ada bug yang sangat membingungkan di PackageManagement di mana perilaku yang tepat terjadi kecuali, sebelum menginstal paket, Anda menetapkan kebijakan eksekusi untuk mengizinkan skrip (saya menggunakan RemoteSigned). Saya akan memperbarui jawaban saya.
Vimes
1
Senang mendengarnya. Semoga kerutan ini akan diperbaiki. Jangan lupa untuk menandai jawabannya jika Anda suka :-)
Vimes
Bagaimana cara saya menginstal beberapa paket dalam satu baris? Itulah standar industri untuk semua manajer paket. Tampaknya saya mendapatkan kesalahan jika saya menjalankanInstall-Package vlc firefox -Force
Jonathan
1
@ JonathanLeaders, cukup beri koma di antara nama paket.
Vimes