Usar a CLI do LibMan com ASP.NET CoreUse the LibMan CLI with ASP.NET Core

Por Scott AddieBy Scott Addie

A CLI do LibMan é uma ferramenta de plataforma cruzada com suporte em todo o .NET Core.The LibMan CLI is a cross-platform tool that's supported everywhere .NET Core is supported.

Pré-requisitosPrerequisites

InstalaçãoInstallation

Para instalar a CLI do LibMan:To install the LibMan CLI:

dotnet tool install -g Microsoft.Web.LibraryManager.Cli

Uma ferramenta global do .NET Core é instalada do pacote NuGet Microsoft. Web. LibraryManager. CLI .A .NET Core Global Tool is installed from the Microsoft.Web.LibraryManager.Cli NuGet package.

Para instalar a CLI do LibMan de uma origem específica do pacote NuGet:To install the LibMan CLI from a specific NuGet package source:

dotnet tool install -g Microsoft.Web.LibraryManager.Cli --version 1.0.94-g606058a278 --add-source C:\Temp\

No exemplo anterior, uma ferramenta global do .NET Core é instalada a partir do arquivo C:\Temp\Microsoft.Web.LibraryManager.CLI.1.0.94-g606058a278.nupkg do computador Windows local.In the preceding example, a .NET Core Global Tool is installed from the local Windows machine's C:\Temp\Microsoft.Web.LibraryManager.Cli.1.0.94-g606058a278.nupkg file.

UsoUsage

Após a instalação bem-sucedida da CLI, o comando a seguir pode ser usado:After successful installation of the CLI, the following command can be used:

libman

Para exibir a versão instalada da CLI:To view the installed CLI version:

libman --version

Para exibir os comandos da CLI disponíveis:To view the available CLI commands:

libman --help

O comando anterior exibe uma saída semelhante à seguinte:The preceding command displays output similar to the following:

 1.0.163+g45474d37ed

Usage: libman [options] [command]

Options:
  --help|-h  Show help information
  --version  Show version information

Commands:
  cache      List or clean libman cache contents
  clean      Deletes all library files defined in libman.json from the project
  init       Create a new libman.json
  install    Add a library definition to the libman.json file, and download the 
             library to the specified location
  restore    Downloads all files from provider and saves them to specified 
             destination
  uninstall  Deletes all files for the specified library from their specified 
             destination, then removes the specified library definition from 
             libman.json
  update     Updates the specified library

Use "libman [command] --help" for more information about a command.

As seções a seguir descrevem os comandos da CLI disponíveis.The following sections outline the available CLI commands.

Inicializar LibMan no projetoInitialize LibMan in the project

O libman init comando criará um libman.jsno arquivo se ele não existir.The libman init command creates a libman.json file if one doesn't exist. O arquivo é criado com o conteúdo do modelo de item padrão.The file is created with the default item template content.

SinopseSynopsis

libman init [-d|--default-destination] [-p|--default-provider] [--verbosity]
libman init [-h|--help]

OpçõesOptions

As opções a seguir estão disponíveis para o comando libman init:The following options are available for the libman init command:

  • -d|--default-destination <PATH>

    Um caminho relativo à pasta atual.A path relative to the current folder. Os arquivos de biblioteca serão instalados nesse local se nenhuma destination propriedade for definida para uma biblioteca no libman.jsem.Library files are installed in this location if no destination property is defined for a library in libman.json. O <PATH> valor é gravado na defaultDestination propriedade de libman.jsem.The <PATH> value is written to the defaultDestination property of libman.json.

  • -p|--default-provider <PROVIDER>

    O provedor a ser usado se nenhum provedor for definido para uma determinada biblioteca.The provider to use if no provider is defined for a given library. O <PROVIDER> valor é gravado na defaultProvider propriedade de libman.jsem.The <PROVIDER> value is written to the defaultProvider property of libman.json. Substitua <PROVIDER> por um dos seguintes valores:Replace <PROVIDER> with one of the following values:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg
  • -h|--help

    Mostrar informações de ajuda.Show help information.

  • --verbosity <LEVEL>

    Defina o detalhamento da saída.Set the verbosity of the output. Substitua <LEVEL> por um dos seguintes valores:Replace <LEVEL> with one of the following values:

    • quiet
    • normal
    • detailed

ExemplosExamples

Para criar um libman.jsno arquivo em um projeto ASP.NET Core:To create a libman.json file in an ASP.NET Core project:

  • Navegue até a raiz do projeto.Navigate to the project root.

  • Execute o comando a seguir:Run the following command:

    libman init
    
  • Digite o nome do provedor padrão ou pressione Enter para usar o provedor CDNJS padrão.Type the name of the default provider, or press Enter to use the default CDNJS provider. Os valores válidos incluem:Valid values include:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    comando init Libman – provedor padrão

Um libman.jsno arquivo é adicionado à raiz do projeto com o seguinte conteúdo:A libman.json file is added to the project root with the following content:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": []
}

Adicionar arquivos de bibliotecaAdd library files

O libman install comando baixa e instala arquivos de biblioteca no projeto.The libman install command downloads and installs library files into the project. Um libman.jsno arquivo será adicionado se um não existir.A libman.json file is added if one doesn't exist. O libman.jsno arquivo é modificado para armazenar detalhes de configuração dos arquivos de biblioteca.The libman.json file is modified to store configuration details for the library files.

SinopseSynopsis

libman install <LIBRARY> [-d|--destination] [--files] [-p|--provider] [--verbosity]
libman install [-h|--help]

ArgumentosArguments

LIBRARY

O nome da biblioteca a ser instalada.The name of the library to install. Esse nome pode incluir a notação de número de versão (por exemplo, @1.2.0 ).This name may include version number notation (for example, @1.2.0).

OpçõesOptions

As opções a seguir estão disponíveis para o comando libman install:The following options are available for the libman install command:

  • -d|--destination <PATH>

    O local para instalar a biblioteca.The location to install the library. Se não for especificado, o local padrão será usado.If not specified, the default location is used. Se nenhuma defaultDestination propriedade for especificada no libman.jsem, essa opção será necessária.If no defaultDestination property is specified in libman.json, this option is required.

  • --files <FILE>

    Especifique o nome do arquivo a ser instalado da biblioteca.Specify the name of the file to install from the library. Se não for especificado, todos os arquivos da biblioteca serão instalados.If not specified, all files from the library are installed. Forneça uma --files opção por arquivo a ser instalada.Provide one --files option per file to be installed. Caminhos relativos também têm suporte.Relative paths are supported too. Por exemplo: --files dist/browser/signalr.js.For example: --files dist/browser/signalr.js.

  • -p|--provider <PROVIDER>

    O nome do provedor a ser usado para a aquisição da biblioteca.The name of the provider to use for the library acquisition. Substitua <PROVIDER> por um dos seguintes valores:Replace <PROVIDER> with one of the following values:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    Se não for especificado, a defaultProvider propriedade no libman.jsem será usada.If not specified, the defaultProvider property in libman.json is used. Se nenhuma defaultProvider propriedade for especificada no libman.jsem, essa opção será necessária.If no defaultProvider property is specified in libman.json, this option is required.

  • -h|--help

    Mostrar informações de ajuda.Show help information.

  • --verbosity <LEVEL>

    Defina o detalhamento da saída.Set the verbosity of the output. Substitua <LEVEL> por um dos seguintes valores:Replace <LEVEL> with one of the following values:

    • quiet
    • normal
    • detailed

ExemplosExamples

Considere o seguinte libman.jsno arquivo:Consider the following libman.json file:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": []
}

Para instalar o arquivo jQuery versão 3.2.1 jquery.min.js na pasta wwwroot/scripts/jQuery usando o provedor CDNJS:To install the jQuery version 3.2.1 jquery.min.js file to the wwwroot/scripts/jquery folder using the CDNJS provider:

libman install jquery@3.2.1 --provider cdnjs --destination wwwroot/scripts/jquery --files jquery.min.js

O libman.jsno arquivo é semelhante ao seguinte:The libman.json file resembles the following:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "jquery@3.2.1",
      "destination": "wwwroot/scripts/jquery",
      "files": [
        "jquery.min.js"
      ]
    }
  ]
}

Para instalar os arquivos calendar.js e Calendar. css de *C: \ temp \ contosoCalendar \ * usando o provedor do sistema de arquivos:To install the calendar.js and calendar.css files from C:\temp\contosoCalendar\ using the file system provider:

libman install C:\temp\contosoCalendar\ --provider filesystem --files calendar.js --files calendar.css

O prompt a seguir aparece por dois motivos:The following prompt appears for two reasons:

  • O libman.jsno arquivo não contém uma defaultDestination propriedade.The libman.json file doesn't contain a defaultDestination property.
  • O libman install comando não contém a -d|--destination opção.The libman install command doesn't contain the -d|--destination option.

comando de instalação do Libman-destino

Depois de aceitar o destino padrão, o libman.jsno arquivo é semelhante ao seguinte:After accepting the default destination, the libman.json file resembles the following:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "jquery@3.2.1",
      "destination": "wwwroot/scripts/jquery",
      "files": [
        "jquery.min.js"
      ]
    },
    {
      "library": "C:\\temp\\contosoCalendar\\",
      "provider": "filesystem",
      "destination": "wwwroot/lib/contosoCalendar",
      "files": [
        "calendar.js",
        "calendar.css"
      ]
    }
  ]
}

Restaurar arquivos de bibliotecaRestore library files

O libman restore comando instala os arquivos de biblioteca definidos no libman.jsem.The libman restore command installs library files defined in libman.json. As seguintes regras se aplicam:The following rules apply:

  • Se nenhum libman.jsno arquivo existir na raiz do projeto, um erro será retornado.If no libman.json file exists in the project root, an error is returned.
  • Se uma biblioteca especificar um provedor, a defaultProvider propriedade no libman.jsem será ignorada.If a library specifies a provider, the defaultProvider property in libman.json is ignored.
  • Se uma biblioteca especificar um destino, a defaultDestination propriedade no libman.jsem será ignorada.If a library specifies a destination, the defaultDestination property in libman.json is ignored.

SinopseSynopsis

libman restore [--verbosity]
libman restore [-h|--help]

OpçõesOptions

As opções a seguir estão disponíveis para o comando libman restore:The following options are available for the libman restore command:

  • -h|--help

    Mostrar informações de ajuda.Show help information.

  • --verbosity <LEVEL>

    Defina o detalhamento da saída.Set the verbosity of the output. Substitua <LEVEL> por um dos seguintes valores:Replace <LEVEL> with one of the following values:

    • quiet
    • normal
    • detailed

ExemplosExamples

Para restaurar os arquivos de biblioteca definidos no libman.jsem:To restore the library files defined in libman.json:

libman restore

Excluir arquivos de bibliotecaDelete library files

O libman clean comando exclui os arquivos de biblioteca restaurados anteriormente por meio de LibMan.The libman clean command deletes library files previously restored via LibMan. Pastas que se tornam vazias depois que essa operação é excluída.Folders that become empty after this operation are deleted. As configurações associadas dos arquivos de biblioteca na libraries propriedade de libman.json não são removidas.The library files' associated configurations in the libraries property of libman.json aren't removed.

SinopseSynopsis

libman clean [--verbosity]
libman clean [-h|--help]

OpçõesOptions

As opções a seguir estão disponíveis para o comando libman clean:The following options are available for the libman clean command:

  • -h|--help

    Mostrar informações de ajuda.Show help information.

  • --verbosity <LEVEL>

    Defina o detalhamento da saída.Set the verbosity of the output. Substitua <LEVEL> por um dos seguintes valores:Replace <LEVEL> with one of the following values:

    • quiet
    • normal
    • detailed

ExemplosExamples

Para excluir arquivos de biblioteca instalados por meio do LibMan:To delete library files installed via LibMan:

libman clean

Desinstalar arquivos de bibliotecaUninstall library files

O comando libman uninstall:The libman uninstall command:

  • Exclui todos os arquivos associados à biblioteca especificada do destino no libman.jsem.Deletes all files associated with the specified library from the destination in libman.json.
  • Remove a configuração da biblioteca associada do libman.jsem.Removes the associated library configuration from libman.json.

Ocorrerá um erro quando:An error occurs when:

  • Não existe libman.jsno arquivo na raiz do projeto.No libman.json file exists in the project root.
  • A biblioteca especificada não existe.The specified library doesn't exist.

Se mais de uma biblioteca com o mesmo nome estiver instalada, você será solicitado a escolher uma.If more than one library with the same name is installed, you're prompted to choose one.

SinopseSynopsis

libman uninstall <LIBRARY> [--verbosity]
libman uninstall [-h|--help]

ArgumentosArguments

LIBRARY

O nome da biblioteca a ser desinstalada.The name of the library to uninstall. Esse nome pode incluir a notação de número de versão (por exemplo, @1.2.0 ).This name may include version number notation (for example, @1.2.0).

OpçõesOptions

As opções a seguir estão disponíveis para o comando libman uninstall:The following options are available for the libman uninstall command:

  • -h|--help

    Mostrar informações de ajuda.Show help information.

  • --verbosity <LEVEL>

    Defina o detalhamento da saída.Set the verbosity of the output. Substitua <LEVEL> por um dos seguintes valores:Replace <LEVEL> with one of the following values:

    • quiet
    • normal
    • detailed

ExemplosExamples

Considere o seguinte libman.jsno arquivo:Consider the following libman.json file:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "jquery@3.3.1",
      "files": [
        "jquery.min.js",
        "jquery.js",
        "jquery.min.map"
      ],
      "destination": "wwwroot/lib/jquery/"
    },
    {
      "provider": "unpkg",
      "library": "bootstrap@4.1.3",
      "destination": "wwwroot/lib/bootstrap/"
    },
    {
      "provider": "filesystem",
      "library": "C:\\temp\\lodash\\",
      "files": [
        "lodash.js",
        "lodash.min.js"
      ],
      "destination": "wwwroot/lib/lodash/"
    }
  ]
}
  • Para desinstalar o jQuery, qualquer um dos seguintes comandos é executado com sucesso:To uninstall jQuery, either of the following commands succeed:

    libman uninstall jquery
    
    libman uninstall jquery@3.3.1
    
  • Para desinstalar os arquivos do Lodash instalados por meio do filesystem provedor:To uninstall the Lodash files installed via the filesystem provider:

    libman uninstall C:\temp\lodash\
    

Atualizar versão da bibliotecaUpdate library version

O libman update comando atualiza uma biblioteca instalada por meio de LibMan para a versão especificada.The libman update command updates a library installed via LibMan to the specified version.

Ocorrerá um erro quando:An error occurs when:

  • Não existe libman.jsno arquivo na raiz do projeto.No libman.json file exists in the project root.
  • A biblioteca especificada não existe.The specified library doesn't exist.

Se mais de uma biblioteca com o mesmo nome estiver instalada, você será solicitado a escolher uma.If more than one library with the same name is installed, you're prompted to choose one.

SinopseSynopsis

libman update <LIBRARY> [-pre] [--to] [--verbosity]
libman update [-h|--help]

ArgumentosArguments

LIBRARY

O nome da biblioteca a ser atualizada.The name of the library to update.

OpçõesOptions

As opções a seguir estão disponíveis para o comando libman update:The following options are available for the libman update command:

  • -pre

    Obtenha a versão de pré-lançamento mais recente da biblioteca.Obtain the latest prerelease version of the library.

  • --to <VERSION>

    Obtenha uma versão específica da biblioteca.Obtain a specific version of the library.

  • -h|--help

    Mostrar informações de ajuda.Show help information.

  • --verbosity <LEVEL>

    Defina o detalhamento da saída.Set the verbosity of the output. Substitua <LEVEL> por um dos seguintes valores:Replace <LEVEL> with one of the following values:

    • quiet
    • normal
    • detailed

ExemplosExamples

  • Para atualizar o jQuery para a versão mais recente:To update jQuery to the latest version:

    libman update jquery
    
  • Para atualizar o jQuery para a versão 3.3.1:To update jQuery to version 3.3.1:

    libman update jquery --to 3.3.1
    
  • Para atualizar o jQuery para a versão de pré-lançamento mais recente:To update jQuery to the latest prerelease version:

    libman update jquery -pre
    

Gerenciar cache de bibliotecaManage library cache

O libman cache comando gerencia o cache da biblioteca LibMan.The libman cache command manages the LibMan library cache. O filesystem provedor não usa o cache de biblioteca.The filesystem provider doesn't use the library cache.

SinopseSynopsis

libman cache clean [<PROVIDER>] [--verbosity]
libman cache list [--files] [--libraries] [--verbosity]
libman cache [-h|--help]

ArgumentosArguments

PROVIDER

Usado somente com o clean comando.Only used with the clean command. Especifica o cache do provedor a ser limpo.Specifies the provider cache to clean. Os valores válidos incluem:Valid values include:

  • cdnjs
  • filesystem
  • jsdelivr
  • unpkg

OpçõesOptions

As opções a seguir estão disponíveis para o comando libman cache:The following options are available for the libman cache command:

  • --files

    Lista os nomes de arquivos que são armazenados em cache.List the names of files that are cached.

  • --libraries

    Liste os nomes das bibliotecas armazenadas em cache.List the names of libraries that are cached.

  • -h|--help

    Mostrar informações de ajuda.Show help information.

  • --verbosity <LEVEL>

    Defina o detalhamento da saída.Set the verbosity of the output. Substitua <LEVEL> por um dos seguintes valores:Replace <LEVEL> with one of the following values:

    • quiet
    • normal
    • detailed

ExemplosExamples

  • Para exibir os nomes das bibliotecas armazenadas em cache por provedor, use um dos seguintes comandos:To view the names of cached libraries per provider, use one of the following commands:

    libman cache list
    
    libman cache list --libraries
    

    Uma saída semelhante à apresentada a seguir será exibida:Output similar to the following is displayed:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        font-awesome
        jquery
        knockout
        lodash.js
        react
    
  • Para exibir os nomes dos arquivos de biblioteca armazenados em cache por provedor:To view the names of cached library files per provider:

    libman cache list --files
    

    Uma saída semelhante à apresentada a seguir será exibida:Output similar to the following is displayed:

    Cache contents:
    ---------------
    unpkg:
        knockout:
            <list omitted for brevity>
        react:
            <list omitted for brevity>
        vue:
            <list omitted for brevity>
    cdnjs:
        font-awesome
            metadata.json
        jquery
            metadata.json
            3.2.1\core.js
            3.2.1\jquery.js
            3.2.1\jquery.min.js
            3.2.1\jquery.min.map
            3.2.1\jquery.slim.js
            3.2.1\jquery.slim.min.js
            3.2.1\jquery.slim.min.map
            3.3.1\core.js
            3.3.1\jquery.js
            3.3.1\jquery.min.js
            3.3.1\jquery.min.map
            3.3.1\jquery.slim.js
            3.3.1\jquery.slim.min.js
            3.3.1\jquery.slim.min.map
        knockout
            metadata.json
            3.4.2\knockout-debug.js
            3.4.2\knockout-min.js
        lodash.js
            metadata.json
            4.17.10\lodash.js
            4.17.10\lodash.min.js
        react
            metadata.json
    

    Observe que a saída anterior mostra que as versões 3.2.1 e 3.3.1 do jQuery são armazenadas em cache no provedor CDNJS.Notice the preceding output shows that jQuery versions 3.2.1 and 3.3.1 are cached under the CDNJS provider.

  • Para esvaziar o cache de biblioteca para o provedor CDNJS:To empty the library cache for the CDNJS provider:

    libman cache clean cdnjs
    

    Depois de esvaziar o cache do provedor de CDNJS, o libman cache list comando exibe o seguinte:After emptying the CDNJS provider cache, the libman cache list command displays the following:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        (empty)
    
  • Para esvaziar o cache para todos os provedores com suporte:To empty the cache for all supported providers:

    libman cache clean
    

    Depois de esvaziar todos os caches do provedor, o libman cache list comando exibe o seguinte:After emptying all provider caches, the libman cache list command displays the following:

    Cache contents:
    ---------------
    unpkg:
        (empty)
    cdnjs:
        (empty)
    

Recursos adicionaisAdditional resources