如何从HTTP URI(本地托管在IIS上)安装软件包?

时间:2016-03-29 15:19:09

标签: nuget chocolatey

我创建了一个可以在本地安装的软件包:

cinst <packageName> -source "C:\Host\<packageName>"

但是,当我将此软件包放在由IIS通过虚拟目录服务的文件服务器上时,它会失败。

cinst <packageName> -source "http://server/packages/<packageName>"

目标计算机可以浏览到浏览器中的包目录,因此可以查看服务器,文件夹以及列表和读取权限。

错误

[ERROR] - install not installed. The package was not found with the source(s) listed.

Fiddler显示请求:

http://server/packages/<packageName>
GET /packages/<packageName>
301 redirect to http://server:port/packages/<packageName>
http://server:port/packages/<packageName>
200 with <packageName>.nuspec and .nupkg files in the response

然后

GET /packages/<packageName>/$metadata
404 File or directory not found

我的两个想法:

  1. 是阻止我的Windows安全措施
  2. 我的包是否遗漏了一些元数据
  3. 我曾经在* nix上管理软件包,而且我最近才开始在Windows环境中工作,所以请随意说出任何明显的内容!

    环境:

    Information.PlatformVersion='6.1.7601.65536'|
    Information.PlatformName='Windows 7'|
    Information.ChocolateyVersion='0.9.9.11'|  
    

    使用-debug设置的巧克力日志中没有其他指针 不使用IDE或Repo,一切都很简单。

    TY!

1 个答案:

答案 0 :(得分:2)

不幸的是,NuGet(和代理商Chocolatey)不兼容裸http。它现在需要OData,尽管将来Chocolatey团队计划允许只使用http索引。

这是解释您的软件包托管选项的资源:https://github.com/chocolatey/choco/wiki/How-To-Host-Feed