.NET 包管理
What are the current offerings for .NET package management. Which are you using and what are the pros and cons?
Some examples out there today are:
For the avoidance of doubt, I'm referring to package management systems such as gem
, apt-get
, and dpkg
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
NuGet(以前称为 NuPack)是一个免费的开源开发人员关注的 .NET 包管理系统
NuGet (formerly NuPack) is a free, open source developer focused package management system for the .NET
另一个现在几乎已经死了的包管理器是 Horn。尽管开发现在大部分已经停止,但我认为这是一个有趣的项目。
它采用了一种有趣的包管理方法,首先从源代码进行编译,而不是纯粹依赖二进制包,类似于 gentoo portage 的 ebuild.这为开发人员提供了混合和匹配库版本的最终自由(而不是等待项目维护人员正式更新其依赖项),但正如他们所说的“能力越大,责任越大”,开发人员也有责任确保他编译的堆栈确实可以工作。
当然,您可以谨慎行事,而不是从主干构建所有内容,您可以修复描述符中的依赖项版本(例如,有一个描述符 温莎城堡主干 和另一个 温莎 2.1)。
对于那些不想从源代码构建所有内容的人(这自然是一个非常缓慢的过程),hornget.net 上有一个服务器充当持续集成服务器并提供二进制包。
Another package manager that is mostly dead nowadays is Horn. Even though development has mostly stopped now, I think it is/was an interesting project.
It took an interesting approach to package management, based on compiling from source code first instead of relying purely on binary packages, in a similar way to gentoo portage's ebuild. This gives the developer ultimate freedom to mix and match library versions (as opposed to waiting for project mantainers to officially update their dependencies), but as they say "with great power comes great responsibility", it is also up to the developer to make sure that the stack he compiles does work.
Of course you could play it safe and instead of building everything from trunk you could fix dependencies versions in your descriptors (for example, there is one descriptor for Castle Windsor trunk and another for Windsor 2.1).
For those that didn't want to build everything from source (which is naturally a very slow process), there was a server at hornget.net that acted as a continuous integration server and provided binary packages.
由于您提到了面向机器的包管理系统,我想我会提到 chocolatey,这类似于 apt-get,但适用于 Windows。
仅供参考:我是 Nu/NuGet 的一员,我发明了巧克力味,因为当我们切换到 NuGet 时,我没有看到 Ruby Gems 带来的东西(这是可执行类型的 gems,NuGet 实际上是用于库和源代码,而不是来自源另一端的产品/工具/应用程序)。从那时起,chocolatey 已经开始支持 PowerShell 执行,它允许您在 Windows 上执行几乎任何操作。
Since you referred to package management systems that are geared towards the machine, I thought I would mention chocolatey, which is like apt-get but for Windows.
FYI: I am one of the Nu/NuGet guys and I invented chocolatey for what I didn't see come over from Ruby Gems when we switched to NuGet (which were the executable type gems, NuGet is really for libraries and source code, not the products/tools/apps that come out on the other side of source). Since then chocolatey has grown to support PowerShell execution which allows you to do just about anything on Windows.