Most Windows applications, however, are fully self contained. They ship their dependencies right inside the installer. The key insight behind scoop is that on Windows you don't need a dependency manager. You just use need something that can download and extract installers without all the next, next, ok nonsense and without needing admin rights.
So that's scoop. It downloads an installer from the program's website, extracts the files to a directory under your homedir, and sets up a few PATHs and symlinks.
It has no repository that needs to be hosted and maintained: after all, installers come straight from the source. And the definitions of which program can download which version from where and what should happen next are tiny JSON files managed on scoop's GitHub repo. Want to tell scoop about a new version of your favorite program? Create a PR.
Chocolatey is a great effort that has taught many Windows users that yes, we can have that apt-get goodness too. But I hope that Scoop takes over as the de facto install-software tool. It's so much simpler with very few downsides. Its design is spectacularly good.
It's usually dependencies on other programs, eg scoop itself depends on git (to pull install instructions from GitHub). That's different than having a system wide shared libffmpeg.
Scoop doesn't even (currently) have the concept of package maintainers. Anyone can make a PR with bumped versions or other fixes (though I understand that as Scoop's popularity increases, some cracks in that model are starting to show).
https://github.com/lukesampson/scoop/wiki/Chocolatey-Compari...
Short version:
- Installs to ~/scoop/ by default.
- No UAC popups, doesn't require admin rights.
- Doesn't pollute your path.
- Doesn't use NuGet.
- Simpler than packaging.
- Simpler app repository.
- Can't always install a specific version of a program.
- Focuses on developer tools.
Choco can do that (not that I am affiliated). Also, I like my "path being polluted". The least these programs can do is symlink to a single binary directory so I can run them from anywhere.
Simpler repository is just a euphemism for- we have little.
As an end user I have no business whether it does it doesn't use nuget.
I'm not trying to diss - I respect and appreciate not players in this space but its important to say it like it is. Also, given how "open" choco ecosystem is- I'd love to see non-official tools on top of that.
It also seems pretty slow, having to download stuff to even tell if it can install a package.
The question for me is, can I get all the VS build tools, python 2.7.x and 3.x, git for windows and node.js all installed and where it will work from a command prompt with scoop? Setting up a new developer is the primary use for the scripts I have currently. I have one for windows (chocolatey) and one for mac (homebrew), I wouldn't mind if the one for windows was cleaned up a lot.
Yes, and scoop does exactly that! Everything is added to the path, and if you do like how it’s added to the path, you can easily modify the JSON manifest and submit a PR. The community is thoughtful and considerate but generally against bloat.
Scoop also adds shortcuts to the Start Menu.
There are some proposals on the table (and have been for a while, without much support) to do more customizations like context menu modifications, but some applications (like VS Code) at least give some instructions for adding that yourself when you run the install.
Chocolatey packages are pretty complex [1], and even worse is the automatic system [2] used for building the main packages [3], which tries to keep everything updated. There's a very steep learning curve if you want to contribute and fix packages.
Contrast to the simple manifests in the scoop main bucket [4] and it's looking much easier. There's some variables there for auto-updating that aren't immediately intuitive, but it doesn't look nearly as complex as chocolatey.
Between the extras [5] and other community buckets [6] this is looking pretty compelling -- can't believe I've never heard of it before.
[1] https://chocolatey.org/docs/create-packages
[2] https://chocolatey.org/docs/automatic-packages
[3] https://github.com/chocolatey/chocolatey-coreteampackages/tr...
[4] https://github.com/lukesampson/scoop/tree/master/bucket
[5] https://github.com/lukesampson/scoop-extras/tree/master/buck...
[6] https://github.com/lukesampson/scoop/blob/master/buckets.jso...
Also frankly, Chocolatey’s repos have become a mess, full of broken and untrustworthy software, and I just do not trust giving it admin permissions anymore. I don’t know what it is about windows software distributors that seems to lead all of them down this road, but I hope scoop can hold out...
I do kind of wish that scoop used ~/AppData/Local/scoop instead of ~/scoop (from other comments). Looking into it more, it's interesting. I just didn't get a lot of insight from the home page in the post link. But I do agree with most of the troublesome issues with Chocolatey mentioned in this and other comments.
I had a great experience, especially after adding the “extras” bucket. The last time I tried (a year or more ago) I found a lot of apps missing. Seems that has improved quite a bit.
The best thing for a Windows packager would be some kind of automatic change detecting site powering it -- so if there's a new release for WinWidget appearing on the Download section of Frobnicorp. Inc, the recipe for the previous release is tested and updated.