2015-09-10 21 views
12

Per risolvere un problema, ho pensato di provare a reinstallare il provider del pacchetto Chocolatey. Non sembra esserci alcun cmdlet per rimuovere o disinstallare un provider di pacchetti. Non mi sto riferendo alla rimozione di un pacchetto sorgente o pacchetto. Sto usando PowerShell 5 su Windows 10.PackageManagement di PowerShell, come disinstallare un provider di pacchetti?

C'è un modo per disinstallare un provider di pacchetti?

+0

Quale versione? Questo PowerShell 5? – briantist

+0

Esatto. Sto usando PowerShell 5 su Windows 10 (aggiunto sopra). – Vimes

risposta

9

I provider di pacchetti sono inclusi nell'installazione WMF.

È possibile aggiungere facilmente i provider di pacchetti (e rimuoverli) se si conoscono i percorsi di ricerca (anche i propri fornitori di pacchetti personalizzati).

Trova in cui è installato il pacchetto-fornitore:

$ p = (Get-packageProvider -name Chocolatey); $ p.ProviderPath

Se si rimuove/sposta l'assieme in un punto diverso dal percorso di ricerca predefinito del provider; non sarà disponibile (NB: riavvia il tuo host vedi anche gli effetti).

Similare è possibile aggiungere provider di pacchetti copiando un file exe/dll che implementa le specifiche per un provider di pacchetti nel percorso di ricerca.

Più documentazione può essere trovato qui (attuazione le proprie e le posizioni di ricerca di default):

https://github.com/OneGet/oneget/wiki/Provider-assembly-search-locations https://github.com/OneGet/oneget/wiki/ImplementingPackageProvider

+3

Sperando che i cmdlet per aggiungere/rimuovere i provider in futuro, ma per ora questo sembra essere il modo. – Vimes

+0

concordato. Spero che questo sia qualcosa che sta andando ora che WMF5 è pronto per la produzione. Sarebbe utile poter aggiungere/rimuovere provider di pacchetti con cmdlet standard, semplicemente come aggiungere/rimuovere moduli. – CmdrTchort

+0

Alcuni provider di pacchetti possono essere visti solo dopo l'importazione come: "Import-PackageProvider -name chocolateyget'. Non so perché. – CMCDragonkai

0

se ho capito quello che vuoi:

Uninstall-Pacchetto [-Id] [-RemoveDependencies] [-ProjectName] [-Force] [-Version] [-WhatIf]

Utilizzare il -Force l'opzione per forzare la disinstallazione di un pacchetto.

+3

Penso che sia come disinstallare un pacchetto. Ma voglio rimuovere un provider di pacchetti, ad esempio il provider Chocolatey. È il plug-in che consente a Package Management (ovvero OneGet) di interagire con i repository Chocolatey. Mi sto convincendo che una volta aggiunto un fornitore, non esiste un modo ufficiale per rimuoverlo. Almeno in questo momento. – Vimes