安装包装& NuGet包安装位置 - 安装到哪里?

时间:2017-12-13 03:08:42

标签: powershell nuget install powershell-module

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

如果已安装,它在哪里安装?我搜索了整个驱动器,没有其他nuget.exe副本存在,除了我手动安装的那个(但显然不在$ PATH中,所以肯定不是指那个 - 我重命名为仔细检查! )。

问题更新

我对Java经历有所期待,似乎我在问错误的问题。

我的用例如下。背景首先。

  • 我是MS App开发的新手,虽然拥有十年的Java开发经验。
  • (目前我所在的位置)有一个旧版本的ASP.Net应用程序无法与dotnet cli一起使用。
  • 这里的团队有硬编码(已保存)的依赖项,并且还创建了他们的构建系统,以期找到其他依赖项,例如在Visual Studio安装中。拥有我的背景我不喜欢这种期望,特别是在扩展方面。
  • 现有构建系统使用MSBuild并使用.targets个文件

我的用例是使用定义的(NOT PRE-DOWNLOADED)依赖项运行构建,并在除了某些关键工具之外对构建环境没有期望的服务器上运行。 Visual Studio是一个IDE,我不希望在服务器上找到它。

我在packages.config文件中创建了依赖项。我想将nuget.exe添加到构建脚本(当前为build.bat,但首选PowerShell等效项。)

我知道那里有很多信息,但由于我在这个领域缺乏知识,这与我想做的事情在2012年左右根深蒂固的事实有关(我猜),我不确定怎么做。

鉴于我所知道的,我认为我想做的就是:

  1. nuget脚本
  2. 的开头安装build.bat / build.ps1
  3. 运行nuget以安装已定义的依赖项
    • 我已手动下载nuget,运行nuget restore并确认它符合我的要求
  4. 像以前一样运行构建
  5. 提出这个问题的第一次尝试是从这个列表中解决#1。我认为powershell可用于下载nuget.exe,然后构建脚本可以调用nuget restore

2 个答案:

答案 0 :(得分:1)

  

如果已安装,它在哪里安装?

假设您使用的是Windows计算机,PowerShell软件包通常安装在C:\Users\%USERNAME%\Documents\WindowsPowerShell\Modules(全局)或nuget.exe(CurrentUser)中。

特别安装了nuget.exe - 是的,就在你安装它的地方;引自NuGet CLI Reference (MSDocs)

  

安装nuget.exe

     
      
  1. 在Mac和Linux上,安装Mono 4.4.2或更高版本。
  2.   
  3. 访问nuget.org/downloads并选择您想要的NuGet版本。
  4.   
  5. 每次下载都是nuget.exe文件。指示您的浏览器将文件保存到您选择的文件夹中。该文件不是安装程序;从浏览器运行它不会显示任何内容。
  6.   
  7. 将放置$scope.Edit=function(id){ $http.post( "<?php echo BASE_URL;?>Registration/Edit", {id :id} ).then(function(response){ var myJSON = JSON.stringify(response.data); alert(myJSON); //alert(response.first_name); $scope.name = response.first_name; name(); //alert(response.id); }); } 的文件夹添加到PATH环境变量中,以便随时随地使用CLI工具。
  8.   

这看起来有些令人困惑,不是吗?请记住,有3种不同的包/应用程序:

  1. NuGet CLI(如引用)
  2. NuGet PowerShell Package /软件包管理器控制台(我认为您要搜索的内容)导出自己的Install-Package
  3. PowerShell的PackageManagement程序包(也是Install-Package cmdlet)

答案 1 :(得分:0)

重新阅读我的更新问题,我不认为在构建服务器上安装nuget.exe是个问题。或者使用docker例如。 https://blog.alexellis.io/3-steps-to-msbuild-with-docker/

正如@Clijsters正确指出的那样,有关于下载nuget的说明。这将是最明智的事情。我对电源外壳安装它的能力感到有些困惑。但那不是nuget.exe

我正在工作的环境可能不支持Docker,因此我不会在此时继续这样做。