> nuget
nuget : The term 'nuget' is not recognized as the name of a cmdlet, function, script file, or operable program. ...
> find-package -name nuget | Install-package -verbose
VERBOSE: Skipping installed package NuGet 1.3.3.
> nuget
nuget : The term 'nuget' is not recognized as the name of a cmdlet, function, script file, or operable program. ...
Wenn es installiert ist, wo ist es installiert? Ich durchsuchte das Laufwerk und es existieren keine weiteren Kopien von nuget.exe
, außer derjenigen, die ich manuell installiert habe (was aber offensichtlich nicht im $ PATH enthalten ist. Sicherlich bezieht es sich nicht auf das - ich habe es in einen Doppel-Check umbenannt!).
Ich hatte eine Erwartung von meiner Java-Erfahrung und es scheint, als habe ich die falsche Frage gestellt.
Mein Anwendungsfall ist unten. Hintergrund zuerst.
dotnet
-Kli nicht funktioniert.MSBuild
und verwendet .targets
-DateienMein Anwendungsfall ist das Ausführen eines Builds mit definierten Abhängigkeiten (NICHT PRE-DOWNLOADED) und auf einem Server, der keine Erwartungen an die Buildumgebung abgesehen von einigen wichtigen Tools hat. Visual Studio ist ein IDE und ich erwarte nicht, dass dies auf einem Server zu finden ist.
Ich habe Abhängigkeiten in einer packages.config
-Datei erstellt. Ich möchte dem Build-Skript nuget.exe
hinzufügen (derzeit ist ein build.bat
bevorzugt, jedoch wird ein Powershell-Äquivalent bevorzugt).
Ich weiß, dass es eine Menge Informationen gibt, aber da mein Wissen in diesem Bereich nicht mit der Tatsache zusammenhängt, dass das, was ich tun möchte, irgendwo im Jahr 2012 verwurzelt ist (schätze ich), bin ich mir nicht sicher, was ich tun soll .
In Anbetracht dessen, was ich weiß, dachte ich, alles was ich tun wollte, ist:
nuget
am Anfang des build.bat / build.ps1
-Skriptsnuget
aus, um die definierten Abhängigkeiten zu installieren nuget
manuell heruntergeladen, nuget restore
ausgeführt und bestätigt, dass es das tut, was ich willDer erste Versuch, diese Frage zu stellen, bestand darin, # 1 aus dieser Liste zu adressieren. Ich dachte, Powershell könnte verwendet werden, um nuget.exe
herunterzuladen, und dann könnte das Build-Skript nuget restore
aufrufen.
Wenn es installiert ist, wo ist es installiert?
Wenn Sie sich auf einem Windows-Computer befinden, werden PowerShell-Pakete normalerweise in C:\Program Files\WindowsPowerShell\Modules
(global) oder C:\Users\%USERNAME%\Documents\WindowsPowerShell\Modules
(CurrentUser) installiert.
nuget.exe ist speziell installiert - ja, wo Sie es installieren; Zitierung aus NuGet CLI-Referenz (MSDocs) :
Nuget.exe wird installiert
- Installieren Sie unter Mac und Linux Mono 4.4.2 oder höher.
- Besuchen Sie nuget.org/downloads und wählen Sie die gewünschte Version von NuGet aus.
- Jeder Download ist die
nuget.exe
-Datei direkt. Weisen Sie Ihren Browser an, die Datei in einem Ordner Ihrer Wahl zu speichern. Die Datei ist kein Installationsprogramm. Wenn Sie es vom Browser aus ausführen, wird nichts angezeigt.- Fügen Sie der PATH-Umgebungsvariablen den Ordner, in dem Sie
nuget.exe
abgelegt haben, hinzu, um das CLI-Tool von überall aus zu verwenden.
Dies scheint etwas verwirrend zu sein, nicht wahr? Beachten Sie, dass es 3 verschiedene Pakete/Anwendungen gibt:
Install-Package
Install-Package
cmdlet ist)Erneutes Lesen meiner aktualisierten Frage, ich denke nicht, dass es ein Problem ist, nuget.exe
auf den Build-Servern zu installieren. Oder Docker verwenden, z. https://blog.alexellis.io/3-stepss-to-msbuild-with-docker/ .
Wie @Clijsters zu Recht darauf hinweist, gibt es Anweisungen zum Herunterladen von nuget
. Und das wäre das Vernünftigste. Ich war nur etwas verwirrt mit der Möglichkeit, Power Shell zu installieren. Das ist aber nicht nuget.exe
.
Die Umgebung, in der ich arbeite, unterstützt Docker wahrscheinlich nicht, daher werde ich das zurzeit nicht verfolgen.