Hallo zusammen!
In den letzten Jahren begann Powershell mit der Erweiterung auf andere Plattformen und funktioniert nun unter Windows, Linux und MacOS (ich habe es sogar geschafft, es auf der Himbeer-Pi-Debian-Distribution zu starten).
Heutzutage ist die Hauptmethode für die Installation von Modulen die
PowerShell-Galerie. In einigen Situationen ist es jedoch immer noch praktisch, Module direkt von der Quelle aus zu installieren (der Hauptgrund dafür ist, dass die PowerShell-Hauptmodule für MyGet oder NugetServer neu konfiguriert wurden).
Und es kann schmerzhaft sein, Module von GitHub zu installieren - Sie sollten das Archiv herunterladen, den Modulordner suchen, den Archivinhalt extrahieren und dann den Modulordner in das Powershell-Profilverzeichnis kopieren.
Darüber hinaus möchten Leute wie ich nicht für jedes Modul ein eigenes Repository erstellen (ja, ich mag den
Release-Flow- Ansatz). Laden Sie also nur die Module herunter und extrahieren Sie sie, die Ihnen gefallen. Dies ist noch schwieriger.
Natürlich gibt es mehrere Skripte im Internet, die darauf abzielen, das PowerShell-Modul von GitHub herunterzuladen und zu installieren, aber ich fand keine Möglichkeit, Module aus einem beliebigen Ordner des Repositorys in Github zu installieren. So erscheint das Projekt `
InstallFromGithub` .
Beim ersten Mal habe ich dieses Installationsprogramm nur für meine Powershell-Module verwendet, mich dann jedoch entschieden, es zu trennen, um die Verwendung in einem beliebigen Skript eines beliebigen Repositorys zuzulassen.
Lerne das Skript 'install.ps1' kennen!
Versuchen wir zum Beispiel, das Lesezeichen-Modul von
PowershellScripts repo direkt über das GitHub-Konto zu installieren:
Wir müssen nur Parameter einstellen
$user="stadub"; $repo="PowershellScripts" $module="Bookmarks"
Sie können auch die Variable $ module leer lassen, um das im Stammordner abgelegte Modul anzugeben
Die Installationszeichenfolge lautet also:
iex ('$module="Bookmarks";$user="stadub";$repo="PowershellScripts"'+(new-object net.webclient).DownloadString('https://raw.githubusercontent.com/PsModuleInstall/InstallFromGithub/master/install.ps1'))
Um nun zu überprüfen, ob es funktioniert, können Sie GHiPS und EventLogDrive importieren
Import-Module Bookmarks
Einfach, richtig?!
Unter der Haube gibt es ein Downloader-Skript, das auf jeder Plattform mit Fortschritts- und Installationsprüfung funktioniert, sodass Sie Ihr vorhandenes Modul nicht neu schreiben müssen.
Wie ich bereits erwähnte, trennte sich das Skript von anderen Modulen und ermöglicht es jeder Person, das einheitliche Installationsprogramm zu verwenden.
Und wenn Sie Vorschläge oder Fehlerberichte haben, können Sie gerne
ein Problem im Repo erstellen.
Alles Gute und viel Spaß beim Codieren,
Dima stadub