web-dev-qa-db-fra.com

Install-Package et NuGet Package - Emplacement d'installation

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

S'il est installé, où est-il installé? J'ai parcouru le lecteur et aucune autre copie de nuget.exe n'existe, à l'exception de celle que j'ai installée manuellement (mais qui ne figure évidemment pas dans le $ PATH, si bien qu'il ne fait pas référence à cela - je l'ai renommé en double-vérification!).


Question mise à jour

J'avais une attente de mon expérience Java et il semble que je pose la mauvaise question.

Mon cas d'utilisation est ci-dessous. Fond d'abord.

  • Je suis nouveau dans le développement MS App, même si je possède une décennie d'expérience en développement Java.
  • (Où je suis actuellement) il y a une ancienne version de l'application ASP.Net qui ne fonctionnera pas avec le dotnet cli.
  • L'équipe ici avait des dépendances codées (sauvegardées) et a également créé son système de construction pour s'attendre à trouver d'autres dépendances telles que l'installation Visual Studio. Ayant mon expérience professionnelle, je n’aime pas cette attente, surtout en ce qui concerne la mise à l’échelle. 
  • Le système de construction existant utilise MSBuild et utilise les fichiers .targets

Mon cas d'utilisation consiste à exécuter une construction à l'aide de dépendances définies (PAS PRÉLÉCHARGÉES) et sur un serveur qui ne s'attend pas à l'environnement de construction, à l'exception de certains outils clés. Visual Studio est un IDE et je ne m'attends pas à le trouver sur un serveur.

J'ai créé des dépendances dans un fichier packages.config. Je veux ajouter nuget.exe au script de construction (actuellement, un build.bat, mais un équivalent PowerShell est préférable).

Je sais que beaucoup d'informations sont disponibles, mais comme je manque de connaissances dans ce domaine, je tiens à ce que je souhaite faire quelque chose d'enraciné vers 2012 (je suppose), je ne sais pas trop quoi faire. .

Compte tenu de ce que je sais, je pensais que tout ce que je voulais faire était:

  1. Installez nuget au début du script build.bat / build.ps1
  2. Exécutez nuget pour installer les dépendances définies
    • J'ai téléchargé nuget manuellement, lancez nuget restore et confirme qu'il fait ce que je veux
  3. Exécuter la construction comme avant

La première tentative de poser cette question a été d'adresser le numéro 1 de cette liste. Je pensais que powershell pourrait être utilisé pour télécharger nuget.exe et ensuite le script de construction pourrait appeler nuget restore.

5
HankCa

S'il est installé, où est-il installé?

En supposant que vous utilisiez une machine Windows, les packages PowerShell sont généralement installés dans C:\Program Files\WindowsPowerShell\Modules (global) ou C:\Users\%USERNAME%\Documents\WindowsPowerShell\Modules (CurrentUser).

nuget.exe est spécifiquement installé - ouais, exactement là où vous l’installez; citation de Référence CLI de NuGet (MSDocs) :

Installation de nuget.exe

  1. Sur Mac et Linux, installez Mono 4.4.2 ou une version ultérieure.
  2. Visitez nuget.org/downloads et sélectionnez la version de NuGet souhaitée.
  3. Chaque téléchargement est directement le fichier nuget.exe. Demandez à votre navigateur de sauvegarder le fichier dans un dossier de votre choix. Le fichier n'est pas un installateur; le lancer depuis le navigateur ne montrera rien.
  4. Ajoutez le dossier où vous avez placé nuget.exe à votre variable d'environnement PATH pour utiliser l'outil CLI à partir de n'importe où.

Cela semble un peu déroutant, n'est-ce pas? Gardez à l'esprit qu'il existe 3 packages/applications différents:

  1. NuGet CLI (comme référencé)
  2. NuGet PowerShell Package / Package Manager Console (Ce que vous recherchez, je pense) exporte ses propres Install-Package
  3. PowerShell's PackageManagement Package (qui également un Install-Package cmdlet)
1
Clijsters

En relisant ma question mise à jour, je ne pense pas que l'installation de nuget.exe sur les serveurs de build pose un problème. Ou utilisez docker par exemple. https://blog.alexellis.io/3-steps-to-msbuild-with- docker/ .

Comme @Clijsters l'a justement souligné, il existe des instructions pour télécharger nuget. Et ce serait la chose la plus sensée à faire. J'étais juste un peu confus avec la possibilité pour Power Shell de l'installer. Mais ce n'est pas nuget.exe.

L’environnement dans lequel je travaille n’est probablement pas compatible avec Docker, je ne le ferai donc pas pour le moment.

0
HankCa