Windows Package Manager 1.0
devblogs.microsoft.com
devblogs.microsoft.com
When I run 'winget list' It says I have Firefox 88.0 installed and there's an update for 88.0.1. But then I run 'winget upgrade Mozilla.Firefox' and it says 'No applicable update found'. Very similar stuff happens even for very popular Microsoft apps like VS2019 and VSCode, there it runs the installer but either doesn't update at all (VS2019) or winget thinks it's perpetually out of date (VSCode). For most other packages it cannot even link the listed application-id to the corresponding winget package, even if it definitely exists.
I understand it's all very variable and nonstandard in the Windows ecosystem, but I think it should be possible to get the versioning mostly right and build a much better database of application-ids and corresponding package names.
Sure, portable/loose binaries aren't supported yet, but other than that, there aren't a lot of major things that winget can't do that Chocolatey can, and this is included (or will be included) in the box with the App Installer in Windows 10, so you don't have to bootstrap it.
0: honestly, probably have been committing too much. It's easier than going outside, even if it pollutes my GitHub history.
With that, all I need is a better filesystem to move disks with unix permissions.
I predict BRTFS or another "modern" filesystem like XFS will soon be supported out-of-the-box.
Issues I have with macOS dev I don't have with WSL 2 or native Linux:
- crappy Docker performance. Need hacks such as NFS mounts.
- case insensitive filesystem. I had to create a special volume for MySQL on a case-sensitive version of HFS or some client projects would fail with random errors
- I'm not a fan of Homebrew.
- BSD coreutils are not as good as GNU's (YMMV)
- it might be a certified UNIX™, but the OS fights you if you try to work outside /Users or /usr/local. Changing a conf file in /etc means losing any modification on the next OS update.
- very definite feeling the machine isn't my own (SIP, Gatekeeper)
--
These days my OS of choice is Windows, and my second choice is Linux. macOS is great for any other task which isn't gaming or working as a full stack engineer.
WSL1 and 2 aren't super approachable even now, and the terminal (the new and old) are pretty limiting.
It's certainly one of the better macOS package managers, just because it's the most used — so it has more packages than the competition.
• source-based
• binary
• virtualized
• installer-wrangler
• functional
It can be hard to say what's best altogether, since paradigm (rather than individually differentiating virtues) might dominate a user's preference or need.There's a set of common problems that all package management systems eventually have an opportunity to address, and each tradition is committed to a few fundamental tradeoffs in its solution to those common problems. Additionally, there are problems specific to each paradigm, and solutions within a given tradition address those with varying degrees of success. Package managers generally inherit the virtues and defects of their traditions when it comes to how they solve the common problems, but they can excel individually in terms of how well they resolve the problems specific to their paradigm.
Incidentally, Homebrew is a ‘traditional’ source-based package manager, but it's also been developed more or less naively (i.e., without serious examination of any other package managers in any tradition). So it has most of the annoyances that are common to traditional source-based package managers, and it additionally bungles a lot of the fundamentals compared to competitors in its class.
As for what's good: how detailed of an answer do you want?
Any package manager that manages mutable and non-deterministic packages should be doused in gasoline and set aflame.
Then add Arch Linux's AUR, and you get the best ecosystem in the Linux world bar none.
It takes very little effort to setup them up, you can install via Windows Store, and start the VMs like any Windows program. What's not approachable?
> the terminal (the new and old) are pretty limiting
Windows Terminal is a big leap forward, but it still feels clunky compared to terminals in OSX/Gnome/KDE. It's little things, like copy/paste or even highlighting text - the lack of a right-click context menu is frustrating. But it's still a welcome effort, and native ssh support means I can rely on putty a little less.
Would you like to explain how? Maybe not iTerm2, but the Windows Terminal is a pretty capable terminal compared to Terminal.app and it's development progress has been phenomenal.
> WSL1 and 2 aren't super approachable even now...
How so? WSL2 ships with a full Linux kernel, the GUI/Audio support has already hit Insiders and installing Ubuntu is literally two clicks on the MS Store.
[1]: https://docs.microsoft.com/en-us/windows/wsl/install-win10
The best option for Linux is Linux distribution.
I've been using Linux with ext4 for quite some time. Am I missing out on something by not using BRTFS or XFS?
I can't speak to the benefits of XFS.
Microsoft really needs to realise that I don’t want absolutely everything cluttering my M2 SSD boot device for a reason, I have other drives. Visual Studio’s installer is another big culprit here.
Like Firefox instead of improving the browser speed and reduce bugs, just keeps implementing existing extensions that they will not do better.
I can see the strategy "wait for someone to crack it, and then copy", it just seems petty and a waste of time
Microsoft: Check out Windows Package Manager!