web-dev-qa-db-de.com

Installationsverzeichnis für Install-Package und NuGet Package - wo installiert

> 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!).


Fragen-Update

Ich hatte eine Erwartung von meiner Java-Erfahrung und es scheint, als habe ich die falsche Frage gestellt.

Mein Anwendungsfall ist unten. Hintergrund zuerst.

  • Ich bin neu in der MS App-Entwicklung, habe aber ein Jahrzehnt Java-Entwicklerfahrung.
  • (Wo ich gerade bin) gibt es eine alte Version der ASP.Net-Anwendung, die mit der dotnet-Kli nicht funktioniert.
  • Das Team hier hatte hart codierte (gespeicherte) Abhängigkeiten und erstellte auch das Build-System, um zu erwarten, dass andere Abhängigkeiten, beispielsweise in einer Visual Studio-Installation, gefunden werden. Mit meinem Hintergrund mag ich diese Erwartung nicht, besonders wenn es um Skalierung geht. 
  • Das vorhandene Buildsystem verwendet MSBuild und verwendet .targets-Dateien

Mein 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:

  1. Installieren Sie nuget am Anfang des build.bat / build.ps1-Skripts
  2. Führen Sie nuget aus, um die definierten Abhängigkeiten zu installieren
    • Ich habe nuget manuell heruntergeladen, nuget restore ausgeführt und bestätigt, dass es das tut, was ich will
  3. Führen Sie den Build wie zuvor aus

Der 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.

5
HankCa

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

  1. Installieren Sie unter Mac und Linux Mono 4.4.2 oder höher.
  2. Besuchen Sie nuget.org/downloads und wählen Sie die gewünschte Version von NuGet aus.
  3. 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.
  4. 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:

  1. NuGet CLI (wie angegeben)
  2. NuGet PowerShell Package / Package Manager Console (Was Sie suchen, denke ich) exportiert eigene Install-Package
  3. PackageManagement Package (das auch ein Install-Package cmdlet ist)
1
Clijsters

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.

0
HankCa