PowerShell / PowerShell/PSResourceGet

Install-Package support

Offen
#487 7 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature_request
Vorherrschende Sprache
C#
Sterne
576
Forks
114
Ø Merge
1 T. 2 Std.
Gemergte PRs (30 T.)
7

Beschreibung

Summary of the new feature / enhancement

From what I understated this module suppose to eventually replace PackageManagement and PowerShellGetv2
In https://github.com/OneGet/oneget it states that This module is currently not in development. The PowerShell/PowerShellGet repository is actively in development as the new PowerShell package manager.

So what are the replacements for *-Package Cmdlets? I tried the following:

Register-PSResourceRepository -Name 'nuget.org' -URL 'http://www.nuget.org/api/v2'

Find-PSResource -Name MailKit -Repository nuget.org
# Returns package info like MailKit 2.15.0.0 etc.

Install-PSResource -Name Microsoft.NETCore.Platforms -Repository nuget.org -Verbose
# [Error] Install-PSResource: Module manifest file: ...\Microsoft.NETCore.Platforms.psd1 does not exist. This is not a valid PowerShell module.

So repository installed and searched successfully but installing is blocked.

The other problem is the "dependency loop"
As reported here https://github.com/OneGet/oneget/issues/475 Install-Package cannot actually work on most of the packages without -SkipDependencies as it resolves dependencies incorrectly and will return loop error without it. The last statement in this issue is:

@GehanPanapitiya hopefully it will be addressed in new PowerShellGet v3

But Install-PSResource doesn't have -SkipDependencies and the loop bug here is worst as it's not even detected:

Install-Package -Name MailKit -Verbose
# [Error] Install-Package: Dependency loop detected for package 'MailKit'.

# This works
Install-Package -Name MailKit -SkipDependencies -Verbose

# This will hang forever (probably spamming the repo with request in a loop?)
Install-PSResource -Name MailKit -Repository nuget.org -Verbose
# Loops silently forever?

So what is the plan/roadmap on this? Will packages be supported on Install-PSResource or some new commend? As PackageManagement is not developed it will probably will never be fixed there.

Proposed technical implementation details (optional)

No response

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Überprüfung des gemeldeten Verhaltens von Install-PSResource und Install-Package, einschließlich der Befehlsbeispiele für MailKit und Microsoft.NETCore.Platforms sowie des verlinkten OneGet-Problems mit einer Abhängigkeitsschleife. Ermittle, ob die Paketinstallation, der Umgang mit Abhängigkeitsschleifen und ein Ersatz für -SkipDependencies zum Umfang gehören; für den Abschluss wäre eine abgestimmte Roadmap oder ein Implementierungsplan erforderlich, die der Issue derzeit noch nicht definiert.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
powershell
Bereich
cli, tooling
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.