Verwenden der LibMan-CLI mit ASP.NET Core
Der Bibliotheks-Manager (LibMan) ist ein einfaches, clientseitiges Tool zum Bibliothekserwerb. LibMan lädt beliebte Bibliotheken und Frameworks vom Dateisystem oder von einem Content Delivery Network (CDN) herunter. Die unterstützten CDNs sind z. B. CDNJS, jsDelivr und unpkg. Die ausgewählten Bibliotheksdateien werden abgerufen und an der entsprechenden Position innerhalb des ASP.NET Core-Projekts platziert.
Voraussetzungen
Installation
Mit dem folgenden Befehl wird LibMan installiert:
dotnet tool install -g Microsoft.Web.LibraryManager.Cli
Hinweis
Standardmäßig stellt die Architektur der zu installierenden .NET-Binärdateien die derzeit ausgeführte Betriebssystemarchitektur dar. Informationen zum Angeben einer anderen Betriebssystemarchitektur finden Sie unter dotnet tool install, --arch option. Weitere Informationen finden Sie unter dem GitHub-Issue dotnet/docs #29262.
Ein globales .NET Core-Tool wird über das NuGet-Paket Microsoft.Web.LibraryManager.Cli installiert.
Verbrauch
libman
Anzeigen der installierten LibMan-Version:
libman --version
Anzeigen der verfügbaren CLI-Befehle:
libman --help
Mit dem obigen Befehl wird eine ähnliche Ausgabe wie die folgende angezeigt:
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.
In den folgenden Abschnitten werden die verfügbaren CLI-Befehle erläutert.
Initialisieren von LibMan im Projekt
Durch den Befehl libman init
wird die Datei libman.json
erstellt, sofern sie noch nicht existiert. Die erstellte Datei enthält den StandardiInhalt für Elementvorlagen.
Übersicht
libman init [-d|--default-destination] [-p|--default-provider] [--verbosity]
libman init [-h|--help]
Optionen
Für den Befehl libman init
sind die folgenden Optionen verfügbar:
-d|--default-destination <PATH>
Mit dieser Option wird ein Pfad relativ zum aktuellen Ordner festgelegt. Bibliotheksdateien werden an diesem Ort installiert, wenn für eine Bibliothek die Eigenschaft
destination
inlibman.json
nicht definiert ist. Der Wert für<PATH>
wird in die EigenschaftdefaultDestination
inlibman.json
geschrieben.-p|--default-provider <PROVIDER>
Mit dieser Option wird der Anbieter festgelegt, der verwendet werden soll, wenn für eine Bibliothek kein Anbieter definiert wurde. Der Wert für
<PROVIDER>
wird in die EigenschaftdefaultProvider
inlibman.json
geschrieben. Ersetzen Sie<PROVIDER>
durch einen der folgenden Werte:cdnjs
filesystem
jsdelivr
unpkg
-h|--help
Zeigt Hilfeinformationen an
--verbosity <LEVEL>
Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie
<LEVEL>
durch einen der folgenden Werte:quiet
normal
detailed
Beispiele
Gehen Sie wie folgt vor, um die Datei libman.json
in einem ASP.NET Core-Projekt zu erstellen:
Navigieren Sie zum Projektstamm.
Führen Sie den folgenden Befehl aus:
libman init
Geben Sie den Namen des Standardanbieters ein, oder drücken Sie die EINGABETASTE (
Enter
), um CDNJS als Standardanbieter zu verwenden. Gültige Werte sind:cdnjs
filesystem
jsdelivr
unpkg
Die Datei libman.json
mit dem folgenden Inhalt wird dem Projektstamm hinzugefügt:
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": []
}
Bibliotheksdateien hinzufügen
Mit dem Befehl libman install
werden Bibliotheksdateien in das Projekt heruntergeladen und dort installiert. Die Datei libman.json
wird hinzugefügt, sofern sie noch nicht existiert. Die Datei libman.json
wird so geändert, dass dort Konfigurationsdetails für die Bibliotheksdateien gespeichert werden.
Übersicht
libman install <LIBRARY> [-d|--destination] [--files] [-p|--provider] [--verbosity]
libman install [-h|--help]
Argumente
LIBRARY
Hierbei handelt es sich um den Namen der zu installierenden Bibliothek. Dieser Name kann eine Notation der Versionsnummer (z. B. @1.2.0
) enthalten.
Optionen
Für den Befehl libman install
sind die folgenden Optionen verfügbar:
-d|--destination <PATH>
Mit dieser Option wird der Installationsort für die Bibliothek festgelegt. Wenn kein Ort angegeben wird, wird der Standardspeicherort verwendet. Wenn in
libman.json
kein Wert für die EigenschaftdefaultDestination
festgelegt ist, ist diese Option erforderlich.Hinweis: Es gibt Einschränkungen für den Zielpfad. Wenn die Paketquelle beispielsweise eine vollständige Projektstruktur und nicht nur den Verteilungsordner aufweist, können Sie das Verschieben eines Ordners nicht angeben. Weitere Informationen finden Sie unter Problem 407 und Problem 702.
--files <FILE>
Geben Sie den Namen der zu installierenden Datei aus der Bibliothek an. Wenn kein Dateiname angegeben wird, werden alle Dateien aus der Bibliothek installiert. Geben Sie die Option
--files
für jede der zu installierenden Dateien separat an. Relative Pfade werden ebenfalls unterstützt. Beispiel:--files dist/browser/signalr.js
.-p|--provider <PROVIDER>
Mit dieser Option wird der Name des für den Erwerb der Bibliothek zu verwendenden Anbieters angegeben. Ersetzen Sie
<PROVIDER>
durch einen der folgenden Werte:cdnjs
filesystem
jsdelivr
unpkg
Wenn kein Wert festgelegt wird, wird der Wert der Eigenschaft
defaultProvider
inlibman.json
verwendet. Wenn inlibman.json
kein Wert für die EigenschaftdefaultProvider
festgelegt ist, ist diese Option erforderlich.
-h|--help
Zeigt Hilfeinformationen an
--verbosity <LEVEL>
Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie
<LEVEL>
durch einen der folgenden Werte:quiet
normal
detailed
Beispiele
Betrachten Sie die folgende libman.json
-Datei:
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": []
}
Installieren der Datei jquery.min.js
der Version 3.2.1 von jQuery im Ordner wwwroot/scripts/jquery mit dem CDNJS-Anbieter:
libman install jquery@3.2.1 --provider cdnjs --destination wwwroot/scripts/jquery --files jquery.min.js
Die endgültige libman.json
-Datei sieht etwa wie folgt aus:
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": [
{
"library": "jquery@3.2.1",
"destination": "wwwroot/scripts/jquery",
"files": [
"jquery.min.js"
]
}
]
}
Installieren der Dateien calendar.js
und calendar.css
aus C:\temp\contosoCalendar\ mit dem Dateisystemanbieter:
libman install C:\temp\contosoCalendar\ --provider filesystem --files calendar.js --files calendar.css
Es gibt zwei mögliche Gründe für die folgende Meldung:
- Die
libman.json
-Datei enthält keinedefaultDestination
-Eigenschaft. - Die Option
-d|--destination
ist im Befehllibman install
nicht enthalten.
Wenn das Standardziel bestätigt wurde, ähnelt die Datei libman.json
dem folgenden Beispiel:
{
"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"
]
}
]
}
Wiederherstellen von Bibliotheksdateien
Mit dem Befehl libman restore
werden die in libman.json
definierten Bibliotheksdateien installiert. Es gelten die folgenden Regeln:
- Wenn im Projektstamm keine Datei namens
libman.json
existiert, wird ein Fehler zurückgegeben. - Wenn in einer Bibliothek ein Anbieter festgelegt ist, wird die Eigenschaft
defaultProvider
inlibman.json
ignoriert. - Wenn in einer Bibliothek ein Ziel festgelegt ist, wird die Eigenschaft
defaultDestination
inlibman.json
ignoriert.
Übersicht
libman restore [--verbosity]
libman restore [-h|--help]
Optionen
Für den Befehl libman restore
sind die folgenden Optionen verfügbar:
-h|--help
Zeigt Hilfeinformationen an
--verbosity <LEVEL>
Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie
<LEVEL>
durch einen der folgenden Werte:quiet
normal
detailed
Beispiele
Wiederherstellen der in libman.json
definierten Bibliotheksdateien:
libman restore
Löschen von Bibliotheksdateien
Mit dem Befehl libman clean
werden zuvor mit LibMan wiederhergestellte Bibliotheksdateien gelöscht. Ordner, die nach diesem Vorgang leer sind, werden gelöscht. Die Konfigurationen für die Bibliotheksdateien in der Eigenschaft libraries
in libman.json
werden nicht entfernt.
Übersicht
libman clean [--verbosity]
libman clean [-h|--help]
Optionen
Für den Befehl libman clean
sind die folgenden Optionen verfügbar:
-h|--help
Zeigt Hilfeinformationen an
--verbosity <LEVEL>
Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie
<LEVEL>
durch einen der folgenden Werte:quiet
normal
detailed
Beispiele
Löschen von über LibMan installierten Bibliotheksdateien:
libman clean
Deinstallieren von Bibliotheksdateien
Mit dem Befehl libman uninstall
:
- werden alle der angegebenen Bibliothek zugeordneten Dateien am in
libman.json
angegebenen Ziel gelöscht. - wird die zugehörige Bibliothekskonfiguration in
libman.json
entfernt.
Ein Fehler tritt auf, wenn:
- im Projektstamm keine Datei namens
libman.json
existiert. - die angegebene Bibliothek nicht existiert.
Wenn mehr als eine Bibliothek mit demselben Namen installiert ist, werden Sie dazu aufgefordert, eine auszuwählen.
Übersicht
libman uninstall <LIBRARY> [--verbosity]
libman uninstall [-h|--help]
Argumente
LIBRARY
Hierbei handelt es sich um den Namen der zu deinstallierenden Bibliothek. Dieser Name kann eine Notation der Versionsnummer (z. B. @1.2.0
) enthalten.
Optionen
Für den Befehl libman uninstall
sind die folgenden Optionen verfügbar:
-h|--help
Zeigt Hilfeinformationen an
--verbosity <LEVEL>
Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie
<LEVEL>
durch einen der folgenden Werte:quiet
normal
detailed
Beispiele
Betrachten Sie die folgende libman.json
-Datei:
{
"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 kann mit einem der folgenden Befehle deinstalliert werden:
libman uninstall jquery
libman uninstall jquery@3.3.1
Deinstallieren der über den Anbieter
filesystem
installierten Lodash-Dateien:libman uninstall C:\temp\lodash\
Aktualisieren der Bibliotheksversion
Mit dem Befehl libman update
wird eine über LibMan installierte Bibliothek auf die angegebene Version aktualisiert.
Ein Fehler tritt auf, wenn:
- im Projektstamm keine Datei namens
libman.json
existiert. - die angegebene Bibliothek nicht existiert.
Wenn mehr als eine Bibliothek mit demselben Namen installiert ist, werden Sie dazu aufgefordert, eine auszuwählen.
Übersicht
libman update <LIBRARY> [-pre] [--to] [--verbosity]
libman update [-h|--help]
Argumente
LIBRARY
Hierbei handelt es sich um den Namen der zu aktualisierenden Bibliothek.
Optionen
Für den Befehl libman update
sind die folgenden Optionen verfügbar:
-pre
Abrufen der aktuellen Vorabversion der Bibliothek
--to <VERSION>
Abrufen einer bestimmten Version der Bibliothek
-h|--help
Zeigt Hilfeinformationen an
--verbosity <LEVEL>
Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie
<LEVEL>
durch einen der folgenden Werte:quiet
normal
detailed
Beispiele
Aktualisieren von jQuery auf die aktuelle Version:
libman update jquery
Aktualisieren von jQuery auf Version 3.3.1:
libman update jquery --to 3.3.1
Aktualisieren von jQuery auf die aktuelle Vorabversion:
libman update jquery -pre
Bibliothekscache verwalten
Mit dem Befehl libman cache
wird der LibMan-Bibliothekscache verwaltet. Der Anbieter filesystem
verwendet den Bibliothekscache nicht.
Übersicht
libman cache clean [<PROVIDER>] [--verbosity]
libman cache list [--files] [--libraries] [--verbosity]
libman cache [-h|--help]
Argumente
PROVIDER
Dieses Argument wird nur mit dem Befehl clean
verwendet. Damit wird der zu bereinigende Anbietercache angegeben. Gültige Werte sind:
cdnjs
filesystem
jsdelivr
unpkg
Optionen
Für den Befehl libman cache
sind die folgenden Optionen verfügbar:
--files
Auflisten der zwischengespeicherten Dateien
--libraries
Auflisten der zwischengespeicherten Bibliotheken
-h|--help
Zeigt Hilfeinformationen an
--verbosity <LEVEL>
Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie
<LEVEL>
durch einen der folgenden Werte:quiet
normal
detailed
Beispiele
Verwenden Sie einen der folgenden Befehle, um die Namen der zwischengespeicherten Bibliotheken nach Anbietern sortiert anzuzeigen:
libman cache list
libman cache list --libraries
Dadurch werden Informationen angezeigt, die mit denen der folgenden Ausgabe vergleichbar sind:
Cache contents: --------------- unpkg: knockout react vue cdnjs: font-awesome jquery knockout lodash.js react
Anzeigen der Namen der zwischengespeicherten Bibliotheksdateien nach Anbietern sortiert:
libman cache list --files
Dadurch werden Informationen angezeigt, die mit denen der folgenden Ausgabe vergleichbar sind:
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
Beachten Sie, dass bei der obigen Ausgabe die Versionen 3.2.1 und 3.3.1 von jQuery unter dem Anbieter CDNJS zwischengespeichert sind.
Leeren des Bibliothekscaches für den Anbieter CDNJS:
libman cache clean cdnjs
Wenn der Cache für den Anbieter CDNJS geleert wurde, wird nach dem Ausführen des Befehls
libman cache list
Folgendes angezeigt:Cache contents: --------------- unpkg: knockout react vue cdnjs: (empty)
Leeren des Caches für alle unterstützten Anbieter:
libman cache clean
Wenn alle Anbietercaches geleert wurden, wird nach dem Ausführen des Befehls
libman cache list
Folgendes angezeigt:Cache contents: --------------- unpkg: (empty) cdnjs: (empty)