Transferência manual de pacotes

O Galeria do PowerShell suporta a transferência direta de um pacote a partir do site, sem utilizar os cmdlets do PowerShellGet. Pode transferir qualquer pacote como um ficheiro de pacote NuGet (.nupkg), que pode copiar para um repositório interno.

Nota

A transferência manual do pacote não se destina a substituir o Install-Module cmdlet. A transferência do pacote não instala o módulo ou script. As dependências não estão incluídas no pacote NuGet transferido. As seguintes instruções são fornecidas apenas para fins de referência.

Utilizar a transferência manual para adquirir um pacote

Cada página tem uma ligação para Transferência Manual, conforme mostrado aqui:

Página de apresentação do pacote com opções de instalação

Para transferir manualmente, clique em Transferir o ficheiro nupkg não processado. É copiada uma cópia do pacote para a pasta de transferência do browser com o nome <name>.<version>.nupkg.

Um pacote NuGet é um arquivo ZIP com ficheiros adicionais que contêm informações sobre o conteúdo do pacote. Alguns browsers, como o Internet Explorer, substituem automaticamente a extensão de .nupkg ficheiro por .zip. Para expandir o pacote, mude o nome do .nupkg ficheiro para .zip, se necessário, e, em seguida, extraia os conteúdos para uma pasta local.

Um ficheiro de pacote NuGet inclui os seguintes elementos específicos do NuGet que não fazem parte do código empacotado original:

  • Uma pasta com o nome _rels - contém um .rels ficheiro que lista as dependências
  • Uma pasta com o nome package - contém os dados específicos do NuGet
  • Um ficheiro com o nome [Content_Types].xml - descreve como as extensões como o PowerShellGet funcionam com o NuGet
  • Um ficheiro com o nome <name>.nuspec - contém a maior parte dos metadados

Instalar módulos do PowerShell a partir de um pacote NuGet

Nota

Estas instruções NÃO dão o mesmo resultado que executar Install-Module. Estas instruções cumprem os requisitos mínimos. Não se destinam a ser um substituto para Install-Module. Alguns passos efetuados por Install-Module não estão incluídos.

A abordagem mais fácil é remover os elementos específicos do NuGet da pasta. Remover os elementos deixa o código do PowerShell criado pelo autor do pacote. Para obter a lista de elementos específicos do NuGet, veja Utilizar a transferência manual para adquirir um pacote.

Os passos são os seguintes:

  1. Desbloqueie o ficheiro de pacote NuGet (.nupkg) transferido pela Internet, por exemplo, com Unblock-File -Path C:\Downloads\module.nupkg o cmdlet.
  2. Extraia o conteúdo do pacote NuGet para uma pasta local.
  3. Elimine os elementos específicos do NuGet da pasta.
  4. Mude o nome da pasta. Normalmente, o nome da pasta predefinido é <name>.<version>. A versão pode incluir -prerelease se o módulo estiver marcado como uma versão de pré-lançamento. Mude o nome da pasta para apenas o nome do módulo. Por exemplo, azurerm.storage.5.0.4-preview torna-se azurerm.storage.
  5. Copie a pasta para uma das pastas no $env:PSModulePath value. $env:PSModulePath é um conjunto de caminhos delimitados por ponto e vírgula em que o PowerShell deve procurar módulos.

Importante

A transferência manual não inclui quaisquer dependências necessárias para o módulo. Se o pacote tiver dependências, têm de ser instalados no sistema para que este módulo funcione corretamente. O Galeria do PowerShell mostra todas as dependências necessárias para o pacote.

Instalar scripts do PowerShell a partir de um pacote NuGet

Nota

Estas instruções NÃO dão o mesmo resultado que executar Install-Script. Estas instruções cumprem os requisitos mínimos. Não se destinam a ser um substituto para Install-Script.

A abordagem mais fácil é extrair o pacote NuGet e, em seguida, utilizar o script diretamente.

Os passos são os seguintes:

  1. Desbloqueie o ficheiro de pacote NuGet (.nupkg) transferido pela Internet, por exemplo, com Unblock-File -Path C:\Downloads\package.nupkg o cmdlet.
  2. Extraia o conteúdo do pacote NuGet.
  3. O .PS1 ficheiro na pasta pode ser utilizado diretamente a partir desta localização.
  4. Pode eliminar os elementos específicos do NuGet na pasta.

Para obter a lista de elementos específicos do NuGet, veja Utilizar a transferência manual para adquirir um pacote.

Importante

A transferência manual não inclui quaisquer dependências necessárias para o módulo. Se o pacote tiver dependências, têm de ser instalados no sistema para que este módulo funcione corretamente. O Galeria do PowerShell mostra todas as dependências necessárias para o pacote.