Live data from Hacker News

Chocolatey – package manager for Windows

chocolatey.org

31–39 of 39 posts

Re: Chocolatey – package manager for Windows

#31
post #5

I'm surprised to see this here, now. Think carefully before using Chocolatey. It is not, never has been, and never will be the default package system for Windows. IMO the writing is on the wall as MS ships OneGet with Windows 10; while I think I read something about the projects working together, or OneGet supporting Chocolatey repositories or something, I don't believe OneGet's 'native format' will be Chocolatey pac…

"Chocolatey is based on v2 NuGet which is a) terrible and" I laughed at that point because I completely agree that NuGet v2 isn't great at all. Also you forgot to mention that NuGet v3 is brand new and there isn't yet published documentation on how to get from one format to the next - https://github.com/NuGet/Home/issues/1870 . Not sure how fast you expect Chocolatey to adopt NuGet v3, but it's a bit much to throw th…

I don't think you can get from one format to the next, and I don't expect them to adopt it at all. Unless something has changed recently V3 doesn't support the content/ or tools/ folders in the package, nor does it support pre- or post- install scripts. There are whole classes of V2 package which can't be created in V3. I expect some of this to change, but since MS went ahead and shipped V3 with Visual Studio 2015 and started publishing packages in that format, they have to be a lot more deliberate about changing behavior.

I guess my point re: Chocolatey is that they depended on a bad upstream tool that has moved in a different direction from what Chocolatey probably needs. So Chocolatey is either stuck on an old codebase - MS says they are going to maintain v2, but who thinks that is going to last? - or they are forking and maintaining themselves, which also seems unlikely as they risk giving up compatibility with all the NuGet repo software they also kind of depend on.

Re: Chocolatey – package manager for Windows

#32
post #14
post #6

Earlier quoted context omitted.

Something that has more of a "true" package manager feel for windows is scoop: https://scoop.sh It's not quite a full package manager either - but it works well enough, should be easy to add package/manifests for, and does allow one to update installed packages: https://github.com/lukesampson/scoop/wiki/Chocolatey-Compari...

Seems to be http://scoop.sh/ not https://scoop.sh

Indeed. Thanks for catching that.

Re: Chocolatey – package manager for Windows

#33
post #31

Earlier quoted context omitted.

"Chocolatey is based on v2 NuGet which is a) terrible and" I laughed at that point because I completely agree that NuGet v2 isn't great at all. Also you forgot to mention that NuGet v3 is brand new and there isn't yet published documentation on how to get from one format to the next - https://github.com/NuGet/Home/issues/1870 . Not sure how fast you expect Chocolatey to adopt NuGet v3, but it's a bit much to throw th…

I don't think you can get from one format to the next, and I don't expect them to adopt it at all. Unless something has changed recently V3 doesn't support the content/ or tools/ folders in the package, nor does it support pre- or post- install scripts. There are whole classes of V2 package which can't be created in V3. I expect some of this to change, but since MS went ahead and shipped V3 with Visual Studio 2015 an…

Well "them" == me and my team.

It's likely building on top of NuGet was a mistake on my part, but it's all there was at the time and it was pretty easy to get started. We don't need the tools folder and we don't like the content folder.

Since Chocolatey does everything once the NuGet package is in place related to automation scripts, it doesn't really matter that v3 doesn't support the pre or post scripts. I started working with the NuGet team a couple of summers ago about making the format more flexible, this was just as v3 work was starting to get ramped up.

At some point Chocolatey will likely not have any dependencies on NuGet itself, but will be compatible with NuGet packaging formats. To move more towards a machine package manager there are more things you need in the specification (like what versions of Windows does a package support as metadata, dependencies per OS, optional dependencies, virtuals, etc). Things that NuGet proper may never need.

My point being, Chocolatey has done a lot of growing up over the last year with a complete rewrite in C#, and will continue to grow up into a full fledged package manager over the next couple of years. There are some fundamental things we are still working out, but there are some amazing things in the pipeline coming for Chocolatey.

For whether we'd move from one format to the next isn't really a choice, it's a must. We'll need to do it in a backwards compatible way. https://github.com/chocolatey/choco/issues/508

Re: Chocolatey – package manager for Windows

#34
post #31

Earlier quoted context omitted.

"Chocolatey is based on v2 NuGet which is a) terrible and" I laughed at that point because I completely agree that NuGet v2 isn't great at all. Also you forgot to mention that NuGet v3 is brand new and there isn't yet published documentation on how to get from one format to the next - https://github.com/NuGet/Home/issues/1870 . Not sure how fast you expect Chocolatey to adopt NuGet v3, but it's a bit much to throw th…

I don't think you can get from one format to the next, and I don't expect them to adopt it at all. Unless something has changed recently V3 doesn't support the content/ or tools/ folders in the package, nor does it support pre- or post- install scripts. There are whole classes of V2 package which can't be created in V3. I expect some of this to change, but since MS went ahead and shipped V3 with Visual Studio 2015 an…

"Chocolatey is that they depended on a bad upstream tool"

Hindsight is amazingly much clearer than decisions you make at the time with all the constraints and requirements you have in the moment. :D

Re: Chocolatey – package manager for Windows

#35

nuget is the closest to apt-get you can get on Windows. Chocolatey is only a download script for a bunch of GUI apps―very useful in its own right, but not a package manager with dependency resolutíon etc.

Only a download script for GUI apps? That's interesting and very likely misinformed. Since Chocolatey builds on top of NuGet.Core, it's got all of the same benefits to dependency resolution you get with NuGet. Plus it builds on top of that with quite a few things. You can call it a fancy download script if you want, but I think you are missing all of the things it does since it was rewritten last year - in addition to a download script, here are things it does currently - https://github.com/chocolatey/choco/wiki/GettingStarted#how-...

Re: Chocolatey – package manager for Windows

#36
post #4

It's definitely not equivalent to "apt-get" -- I tried it out recently and it's a scripted installer for many things, but lacks a functional package manager backend like apt-get requires (dpkg, rpm for apt-rpm, etc). Further, it doesn't have a repository of the packages themselves -- it tries to pull them from upstream, which sometimes means it will try to fetch a version that has been removed, moved, or is otherwise…

Chocolatey is basically a download manager like Ninite: http://ninite.com/ It is nothing like apt-get or yum for Linux. For example it does not fix broken packages and missing libraries and other things. Chocolatley requires an admin shell and then powershell in order to install.

Actually it depends on the package type. Chocolatey doesn't require an admin shell nor does it require PowerShell for packages that have the runtime executables embedded in the package. Those are known as portable packages.

The problem with a blanket statement for admin shell is that for almost everything you want to do with Windows, it requires administrative permissions to actually install things. So it's more that Windows requires admin permissions to run native installers like MSIs, InstallShield, InnoSetup, etc.

PowerShell is also been moved down to just an automated script install provider in choco. It will become optional once ScriptCS and others are supported as alternative automated script providers.

Re: Chocolatey – package manager for Windows

#37
Must say that Chocolatey have made my life much easier and I recommend to try it out.

Not sure about all the negative comments here. It's OSS so if you have a negative experience and the time to write comments here, why not contribute back and post the same thing as an issue to get a discussion started with the team? It's actively being developed and the team behind it listens to the community.

Re: Chocolatey – package manager for Windows

#38
post #4

It's definitely not equivalent to "apt-get" -- I tried it out recently and it's a scripted installer for many things, but lacks a functional package manager backend like apt-get requires (dpkg, rpm for apt-rpm, etc). Further, it doesn't have a repository of the packages themselves -- it tries to pull them from upstream, which sometimes means it will try to fetch a version that has been removed, moved, or is otherwise…

I wrote a little bit more about Chocolatey packaging, there is quite a bit of confusion about it because most folks only see the packages on the community feed (https://chocolatey.org/packags) and think that is the only way that Chocolatey works. https://github.com/chocolatey/choco/wiki/GettingStarted#what...

Re: Chocolatey – package manager for Windows

#39
post #31

Earlier quoted context omitted.

I don't think you can get from one format to the next, and I don't expect them to adopt it at all. Unless something has changed recently V3 doesn't support the content/ or tools/ folders in the package, nor does it support pre- or post- install scripts. There are whole classes of V2 package which can't be created in V3. I expect some of this to change, but since MS went ahead and shipped V3 with Visual Studio 2015 an…

"Chocolatey is that they depended on a bad upstream tool" Hindsight is amazingly much clearer than decisions you make at the time with all the constraints and requirements you have in the moment. :D

I looked at chocolatey a few years back and decided I didn't like installing anonymously packaged software on my machine.

Recently my team started using it for cloud formation app deployment and I see it has reviewed and approved packages now.

I was also under the misaprehension that chocolatey packages contained binaries but they typically download from the software makers site at install time - so no binary interference to inject nasties by package authors.

Have to say I'm impressed with the updates to security and will look into using it privately as a result.

Thanks for your work!

Post reply on HN