作者:Scott Addie
LibMan CLI 是一个跨平台工具,在支持 .net Core 的任何地方都受支持。
安装 LibMan CLI:
dotnet tool install -g Microsoft.Web.LibraryManager.Cli
.Net Core 全局工具是从LibraryManager NuGet 包安装的。
若要从特定的 NuGet 包源安装 LibMan CLI,请执行以下操作:
dotnet tool install -g Microsoft.Web.LibraryManager.Cli --version 1.0.94-g606058a278 --add-source C:\Temp\
在前面的示例中,从本地 Windows 计算机的C:\Temp\Microsoft.Web.LibraryManager.Cli.1.0.94-g606058a278.nupkg文件安装 .Net Core 全局工具。
成功安装 CLI 后,可以使用以下命令:
libman
查看已安装的 CLI 版本:
libman --version
查看可用的 CLI 命令:
libman --help
前面的命令显示类似于以下内容的输出:
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.
以下部分概述了可用的 CLI 命令。
libman init
命令将创建一个libman文件(如果不存在)。 将用默认项模板内容创建文件。
libman init [-d|--default-destination] [-p|--default-provider] [--verbosity] libman init [-h|--help]
libman init
命令可以使用以下选项:
-d|--default-destination <PATH>
相对于当前文件夹的路径。 如果未在libman中为库定义 destination
属性,则会在此位置安装库文件。 <PATH>
值将写入libman的 defaultDestination
属性。
-p|--default-provider <PROVIDER>
为给定库定义了提供程序时要使用的提供程序。 <PROVIDER>
值将写入libman的 defaultProvider
属性。 将 <PROVIDER>
替换为以下值之一:
cdnjs
filesystem
jsdelivr
unpkg
-h|--help
显示帮助信息。
--verbosity <LEVEL>
设置输出的详细级别。 替换为<LEVEL>
使用以下值之一:
quiet
normal
detailed
在 ASP.NET Core 项目中创建libman文件:
导航到项目根。
运行下面的命令:
libman init
键入默认提供程序的名称,或按 Enter
使用默认的 CDNJS 提供程序。 有效值包括:
cdnjs
filesystem
jsdelivr
unpkg
将libman文件添加到项目根,其中包含以下内容:
{ "version": "1.0", "defaultProvider": "cdnjs", "libraries": [] }
libman install
命令将库文件下载并安装到项目中。 如果不存在libman文件,则添加一个。 修改libman文件以存储库文件的配置详细信息。
libman install <LIBRARY> [-d|--destination] [--files] [-p|--provider] [--verbosity] libman install [-h|--help]
LIBRARY
要安装的库的名称。 此名称可以包含版本号表示法(例如 @1.2.0
)。
libman install
命令可以使用以下选项:
-d|--destination <PATH>
库的安装位置。 如果未指定,则使用默认位置。 如果libman中未指定 defaultDestination
属性,则此选项是必需的。
--files <FILE>
指定要从库中安装的文件的名称。 如果未指定,则会安装库中的所有文件。 为每个要安装的文件提供一个 --files
选项。 还支持相对路径。 例如:--files dist/browser/signalr.js
。
-p|--provider <PROVIDER>
用于库获取的提供程序的名称。 将 <PROVIDER>
替换为以下值之一:
cdnjs
filesystem
jsdelivr
unpkg
如果未指定,则使用libman中的 defaultProvider
属性。 如果libman中未指定 defaultProvider
属性,则此选项是必需的。
-h|--help
显示帮助信息。
--verbosity <LEVEL>
设置输出的详细级别。 替换为<LEVEL>
使用以下值之一:
quiet
normal
detailed
请考虑以下libman文件:
{ "version": "1.0", "defaultProvider": "cdnjs", "libraries": [] }
使用 CDNJS 提供程序将 jQuery 版本 3.2.1 jquery文件安装到wwwroot/scripts/jQuery文件夹:
libman install jquery@3.2.1 --provider cdnjs --destination wwwroot/scripts/jquery --files jquery.min.js
Libman文件如下所示:
{ "version": "1.0", "defaultProvider": "cdnjs", "libraries": [ { "library": "jquery@3.2.1", "destination": "wwwroot/scripts/jquery", "files": [ "jquery.min.js" ] } ] }
使用文件系统提供程序从C:\temp\contosoCalendar\ 中安装node.js和calendar文件:
libman install C:\temp\contosoCalendar\ --provider filesystem --files calendar.js --files calendar.css
出现以下两个原因的提示:
defaultDestination
属性。libman install
命令不包含 -d|--destination
选项。接受默认目标后, libman文件如下所示:
{ "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" ] } ] }
libman restore
命令安装在libman中定义的库文件。 适用以下规则:
defaultProvider
属性。defaultDestination
属性。libman restore [--verbosity] libman restore [-h|--help]
libman restore
命令可以使用以下选项:
-h|--help
显示帮助信息。
--verbosity <LEVEL>
设置输出的详细级别。 替换为<LEVEL>
使用以下值之一:
quiet
normal
detailed
若要还原libman中定义的库文件:
libman restore
libman clean
命令删除之前通过 LibMan 还原的库文件。 删除此操作后变成空的文件夹。 不会删除libman的 libraries
属性中的库文件的关联配置。
libman clean [--verbosity] libman clean [-h|--help]
libman clean
命令可以使用以下选项:
-h|--help
显示帮助信息。
--verbosity <LEVEL>
设置输出的详细级别。 替换为<LEVEL>
使用以下值之一:
quiet
normal
detailed
删除通过 LibMan 安装的库文件:
libman clean
libman uninstall
命令:
出现错误时:
如果安装了多个具有相同名称的库,系统将提示您选择一个。
libman uninstall <LIBRARY> [--verbosity] libman uninstall [-h|--help]
LIBRARY
要卸载的库的名称。 此名称可以包含版本号表示法(例如 @1.2.0
)。
libman uninstall
命令可以使用以下选项:
-h|--help
显示帮助信息。
--verbosity <LEVEL>
设置输出的详细级别。 替换为<LEVEL>
使用以下值之一:
quiet
normal
detailed
请考虑以下libman文件:
{ "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/" } ] }
若要卸载 jQuery,以下任一命令都将成功:
libman uninstall jquery
libman uninstall jquery@3.3.1
卸载通过 filesystem
提供程序安装的 Lodash 等文件:
libman uninstall C:\temp\lodash\
libman update
命令将通过 LibMan 安装的库更新到指定的版本。
出现错误时:
如果安装了多个具有相同名称的库,系统将提示您选择一个。
libman update <LIBRARY> [-pre] [--to] [--verbosity] libman update [-h|--help]
LIBRARY
要更新的库的名称。
libman update
命令可以使用以下选项:
-pre
获取库的最新预发布版本。
--to <VERSION>
获取库的特定版本。
-h|--help
显示帮助信息。
--verbosity <LEVEL>
设置输出的详细级别。 替换为<LEVEL>
使用以下值之一:
quiet
normal
detailed
将 jQuery 更新为最新版本:
libman update jquery
若要将 jQuery 更新为版本3.3.1:
libman update jquery --to 3.3.1
若要将 jQuery 更新为最新的预发行版本:
libman update jquery -pre
libman cache
命令管理 LibMan 库缓存。 filesystem
提供程序不使用库缓存。
libman cache clean [<PROVIDER>] [--verbosity] libman cache list [--files] [--libraries] [--verbosity] libman cache [-h|--help]
PROVIDER
仅与 clean
命令一起使用。 指定要清除的提供程序缓存。 有效值包括:
cdnjs
filesystem
jsdelivr
unpkg
libman cache
命令可以使用以下选项:
--files
列出缓存的文件的名称。
--libraries
列出缓存的库的名称。
-h|--help
显示帮助信息。
--verbosity <LEVEL>
设置输出的详细级别。 替换为<LEVEL>
使用以下值之一:
quiet
normal
detailed
若要查看每个提供程序的缓存库的名称,请使用以下命令之一:
libman cache list
libman cache list --libraries
显示了类似下面的输出:
Cache contents: --------------- unpkg: knockout react vue cdnjs: font-awesome jquery knockout lodash.js react
若要查看每个提供程序的缓存库文件的名称,请执行以下操作:
libman cache list --files
显示了类似下面的输出:
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
请注意,前面的输出显示,jQuery 版本3.2.1 和3.3.1 缓存在 CDNJS 提供程序下。
若要清空 CDNJS 提供程序的库缓存:
libman cache clean cdnjs
清空 CDNJS 提供程序缓存后,libman cache list
命令将显示以下内容:
Cache contents: --------------- unpkg: knockout react vue cdnjs: (empty)
为所有支持的提供程序清空缓存:
libman cache clean
在清空所有提供程序缓存后,libman cache list
命令将显示以下内容:
Cache contents: --------------- unpkg: (empty) cdnjs: (empty)