Instalar el módulo Powershell desde el repositorio de Github

Hola a todos!

En los últimos años, Powershell comenzó a expandirse a otras plataformas y ahora funciona en Windows, Linux y MacOS (incluso logré iniciarlo en la distribución de Raspberry Pi Debian).

Y hoy en día, la forma principal de instalar módulos es PowerShell Gallery, pero en algunas situaciones, todavía es conveniente instalar módulos directamente desde la fuente (la razón principal: los principales repositorios de módulos PowerShell configurados en MyGet o NugetServer).

Y puede ser doloroso instalar el Módulo desde GitHub: debe descargar el archivo, buscar la carpeta de módulos, extraer el contenido del archivo y luego copiar la carpeta del módulo en el directorio de Powershell Profile.

Además, las personas como yo no quieren crear un repositorio separado para cada módulo (sí, me gusta el enfoque Release-Flow ), así que descargue y extraiga solo los módulos que le gustan, aún más difícil.

Por supuesto, hay varios scripts en Internet que tienen como objetivo descargar e instalar el módulo PowerShell desde GitHub, pero no encontré ninguno que permita instalar el Módulo desde ninguna carpeta del Repositorio en Github. Es la forma en que aparece el proyecto ` InstallFromGithub` .

La primera vez que utilicé este instalador solo para mis módulos Powershell, pero luego decidí separarlo para permitir su uso en cualquier script de cualquier repositorio.

¡Conoce el script 'install.ps1'!

Por ejemplo, intentemos instalar el módulo Marcadores desde el repositorio PowershellScripts directamente desde la cuenta de GitHub:

Solo necesitamos establecer parámetros

$user="stadub"; $repo="PowershellScripts" $module="Bookmarks" 

Además, puede dejar la variable $ module en blanco para indicar el módulo colocado en la carpeta raíz

Entonces la cadena de instalación será:

 iex ('$module="Bookmarks";$user="stadub";$repo="PowershellScripts"'+(new-object net.webclient).DownloadString('https://raw.githubusercontent.com/PsModuleInstall/InstallFromGithub/master/install.ps1')) 

Ahora para comprobar si funciona, importemos GHiPS y EventLogDrive

 Import-Module Bookmarks 

Simple, ¿verdad?

Debajo del capó, hay un script de descarga que funciona en cualquier plataforma con progreso y verificación de instalación para que no reescriba su módulo existente.

Como mencioné antes, el script se separó de otros módulos y permite que cualquier persona use el instalador unificado.

Y si tiene alguna sugerencia o informe de error, puede crear un problema en el repositorio.

Mis mejores deseos y feliz codificación,
Dima stadub

Source: https://habr.com/ru/post/476914/


All Articles