More Issues with Scoop

In addition to the shims issue, I keep being disappointed more today by digging deeper.

So, the search in scoop is unbelievably slow. It seems to drag on and on when adding more buckets, but even with just official source it can take over a minute to return. There’s an issue on this topic too. Seems like scoop search will parse all the JSON files from the local disk to perform search. And considering it’s written in PowerShell, which is not the fastest platform, it’s understandable. At the end of the day, you just have to give up on search or use third-party utils like scoop-search. This is a lot of unnecessary glue.

PowerShell

I guess user experience is pretty expected considering scoop is essentially a set of powershell scripts. Well, that’s OK for a prototype, but if a product is successful it’s worth rewriting it in something faster and more stable? Authors don’t think so.

Autoupdate

I sort of like and hate autoupdate feature. There’s a bot running somewhere that will check for a new version of software. It’s using regular expressions to parse web pages and check for a new version. And most of the times it works.

It doesn’t work if a webpage has changed formatting though, so you’ll end up with a broken package or potentially installing something completely wrong. This is dangerous.

Git

Scoop heavily depends on Git. In fact, it requires git to be installed locally, and package updates are actually a git pull command. Sometimes it breaks, if your local git configuration is not perfect, as it’s using user-wide installation of git, not even a private to scoop. I really hate this.

Bad Packages

Some packages are just a pain. For instance, installing busybox and bat results in something really strange. Due to the fact that bat will call cat for simple display, and cat is aliased by busybox as busybox.exe cat it’s going into some mad interdependency and I could never manage to make bat actually work.

vim and busybox also conflict, because vim.exe is also a shim in busybox so depending on weather when you launch vim you’ll either get real Vim or busybox Vim. I had to uninstall both from scoop and configure my system manually in order for it to be predictable.

This is due to how shims and path resolution work in Scoop. Most of the times it’s OK, but the times it isn’t it’s just horrible.

CI/CD

There’s no way to do CI/CD integration, other than to wait for scoop daemon to parse your webpage and detect a new version.

An expected process to publish a new version would be:

  1. Build your binary package.
  2. Authenticate to packaging server.
  3. Publish the new version via some REST API.

This is not the case with Scoop, you simply can’t do it.

Thanks! You can always email me or use contact form for more questions/comments etc.