Nodachisoft Nodachi Sword Icon
  
@Amaji✎ Update October-5-2020

Winget vs Chocolatey vs scoop, and the automation of building development environments

It's handy to have the software you need ready to go when the development environment changes!

Before developing, manual tasks such as downloading the appropriate exe for your development environment from an official source, extracting zip files, worrying about dependencies, etc., are okay for one PC, but wasting time with multiple developers and repeating the same steps every time in different environments is a waste of time.

By using software management software, You can install all the software you need on Windows with a single command.

This is a comparison of the free software management software and how to use the mainstream CLI (Command Line Interfae; the one to operate by typing commands on a black screen).

This article is a record of the following management software.

Package (app) management software covered in the article

  • Chocolatey ... This software can handle not only Unity, VisualStudioCode, JDK, NodeJS, but also Chrome, VLC and other software for non-developers. Even if you are not a developer, it is convenient to use, but I had a trouble when I uninstalled it, so it is a little difficult for people who are not developers who can deal with problems.
  • Scoop ... This software can manage installation and uninstallation of applications easily without polluting the environment, and the structure of management is simple. The package handled is less than Chocolatey, but it is especially focused on the handling of development environment building software such as programmers, etc., and it is possible to make a common environment with this when putting in the software of the front end development system and the server side development system.
  • winget ... This software is Microsoft's official package management software; as of July 18, 2020, it has not yet been officially released. So, ease of implementation and other assumptions are included.

Please refer to the separate summary of software installation and basic operations, notes, etc., if you like!

What you can eliminate using package management software.

As it says in Chocolatey official, by installing software that manages the software you have installed, the following problems can be solved.

  • Time: Automate your software development and stop wasting time!
  • Complex: Managing old-fashioned tools is complicated and inefficient.
  • Cost: Installing and managing software without standard management software will eat up a lot of extra time (= money).

Premise

This article is only for the Windows environment.

I'd like to make a separate list for Homebrew on MacOS and apt-get and yum on Linux.

Comparison Of Chocolatey vs Scoop vs winget

Point Chocolatey Scoop winget
Developer Chocolatey Software, Inc. lukesampson Microsoft Corp.
Publish Mar. 2011 Sep. 2013 May 2020
Is OSS? OSS OSS OSS
Package Count* 5,036 2,959 657
Available on since Win7, since Win2003 since Win7, since Win2008 Win10since ver 1709
Ease of Introduction 3 2 2
Own repository 2 2 2
Free or Paid Free
Partially Paid
Free Free
ease of use 3 2 3
Enhanced package content 1 2 3

Point is on a scale of one to three. 1-marvelous! 2-sufficient 3-I felt a little trouble

None of them are so superior or inferior, so it seems good to choose the one that suits your purpose

The "ease of use" is just my personal impression of the product. The evaluation will vary from person to person. If I feel that it hinders automation, such as when installing a package, I'd rate it a negative.

*The number of package registrations is based on the official package count as of July-18-2020.

  • The number of registrations in the standard Chocolatey repository. (The official page says 213,316, but we counted 213,316 in my own way, so that my counting method is similar to other repositories.
  • When I count Scoop packages, adding the official recommended 9 bukets in addition to the standard bukets.
  • Winget was counted from the standard GitHub microsoft/winget-pkgs registrations! .

So, I'd like to recommend Scoop to anyone developing apps and the like at the moment.

About OneGet

In addition, there is also Microsoft software called OneGet that can connect to both Chocolatey and Scoop and manage them with common commands, but I haven't used it yet, so I'll skip it.

Chocolatey

feature

  • One of the objectives is to promote "DevOps", where software in a Windows environment can be easily managed and automatically deployed to a server.
  • When managing software, it uses the PowerShell features that come standard with Windows, allowing complex processes to be accomplished with a single command line.
  • In addition to the free version, there is a paid service. You can use all functions in the free version.

The official site delivers various software installers, EXE files, Zip files, and installation scripts in the form of Chocolatey package files (files with .nupkg extension).

Disadvantages and points to note when using this service

  • Because processing is dependent on PowerShell, it may not be able to run in a company or in an environment with severe security restrictions.
  • Basically, you need administrator privileges to use it. Officially, as "last resort", there are also installation and package management procedures that do not require administrator privileges. I don't describe it in detail in this article, so if you need it, please refer to official procedure.
  • I install and uninstall the exe format and MSI (Microsoft's installer package file) with PowerShell, but it sometimes fails. Sometimes the uninstallation process is not enough and garbage remains.

About Chocolatey and NuGet

NuGet is a library management software for Microsoft's .NET framework, and since Chocolatey's package description often mentions NuGet, I'll remind you of its relevance.

What is NuGet?

  • NuGet ... NET libraries for various kinds of development and package management, as well as managing dependencies. Various development libraries and software are available at NuGet gallery, and you can easily add, remove or update the libraries you need from Visual Studio or the command line of the IDE (Integrated Development Environment).

The relationship between Chocolatey and NuGet

Chocolatey makes use of NuGet's packaging framework.

In fact, Chocolatey uses NuGet.Core.dll internally to install the software.

Chocolatey and NuGet are two different things you want to manage.

As it says in Chocolatey official - FAQ.

NuGet is mainly aimed at making it easy to deploy development libraries, whereas Chocolatey's main goal is to make it easy to deploy apps and tools. Chocolatey is not intended to be used mainly by developers. It's not intended to be developer-centric.

Difference between Chocolatey and NuGet package files

Specifically, Chocolatey's package file (.nupkg file) and NuGet's package file are both zip files. The metafiles in them are different.

Chocolatey has silent installation using PowerShell (mode that allows installation without GUI interaction) with meta-information in the nupkg file so that GUI processing at the time of software installation can be eliminated.

About nupkg file

The nupkg file is an extension of NuGet package file that contains some additional meta-information for Chocolatey. So Chocolatey is compatible with plain NuGet packages as well. (Source: Chocolatey Official wiki - What Are Chocolatey Packages?

Plus, the difference between Chocolatey and apt, such as apt-get

Unlike apt, Chocolatey is not aware of source code control, Chocolatey is aware of pre-built software and tools.

ref: Chocolatey Official - FAQ - how-iswill-Chocolatey-be-different-than-apt

Official Repositories

There is an official Chocolatey Community Package repository.

You can search for packages on the web, or after installing Chocolatey, you can search for packages on command.

I heard that this repository is managed by Chocolatey Community. When you register software in this repository, you need to check security check or quality check.

You can have your own repository.

Chocolatey is a NuGet package with extended information for Chocolatey, so you can use a NuGet repository server.

There are several types of repositories. "folder/unc share", "simple server", "package gallery", "commercial packge repositories"

"folder/unc share" allows you to create a repository with a specified path to a folder to be shared on the network, such as using Windows File Sharing.

See The official document- Host your own server for details.

The following server programs are listed as being compatible with the Chocolatey package, although this is an assumption for which officials are not responsible. All of them are NuGet package hosting servers.

  • Klondike ... A server program capable of private NuGet package hosting, using a search engine called Lucene
  • PHP NuGet ... A server program that runs on PHP for hosting
  • LaGet ... A hosting server program built on Laravel, the famous PHP framework.

There may be others if you look for them.

About Scoop

You can manage the command line (CLI) for installing, uninstalling and updating apps published in Git through a bucket (like a repository).

features

  • You can install the software you want for each user individually. There is Exception though.
  • Eliminate permission popup (called UAC) when installing.
  • The installation screen in the GUI should be able to be popped.
  • Preventing the PATH environment variable from getting dirty in various installations.
  • Ensure that installing or uninstalling packages does not affect other things.
  • Resolve package dependencies.
  • Do not use NuGet internally, unlike Chocolatey, to make each package more independent.
  • Manage installation and dependencies with just a JSON file rather than package management. Simple.
  • The app is managed in a repository on Git.
  • Older apps may be installed depending on dependencies with other apps.

Types of packages available

It doesn't seem to be dealing with packages that can corrupt the registry, system configuration or environment. They are officially called portable apps by the Scoop team.

On the other hand, they do allow standalone applications such as EXE and Powershell scripts to be handled as packages without compression.

However, you can install other things besides portable apps, such as Skype, if you add a repository called scoop-extras to Scoop's search.

Bucket: A repository of sorts.

In Scoop, we call the part of the package management system "buckets". Scoop only installs the official buckets, called "main", immediately after installation.

The following buckets are also officially introduced.

Here is only a selection of what I personally liked.

buckets summury
main Generic CLI App
extras An application that doesn't fit in with the main
games OSS freegame, game tools
java Java, JDK-related
nonportable Non-Portable Apps
php Various PHP versions and so on.

About winget

feature

You can use winget (Windows Package Manager) to install and update OSS applications and others published on GitHub locally from the command line.

Specifications required

  • Windows 10 version 1709 (build 16299) or later * is required.

*You can find out the version and build number of your Windows PC in a separate article here.

Another Detailed information

Windows Package Manager Preview Participation Page says it has not been officially released and is still subject to change. It will be included in the preview version of the AppInstaller app, he said.

I'll update the information when it's officially released in the future.

Things to consider before implementing package management software.

If you have a choice of software with similar features, you can use I think you should think about the future when you hire.

Although you may have worked hard to create a script that builds automatically, it's not It's entirely possible that there will be a decline in the community or the technology you're using and you'll have to move to another management software.

So the ease of porting to other management software might be a good thing to keep in mind when you're introducing it.

References

Update

  • October-05-2020 published
 
 
Message sent

Thank you for your message.

Something error has occured!

Sorry. The Error has occurred.We apologize for the inconvenience.Please try again in a few minutes or contact us via DM below.

Twitter:@NodachiSoft_eng
Name:
 
Replay To:
 
Message:
 
Back
Check the content!

Send the following information to us. If you are happy with your submission, please click "Send". If you want to modify it, please click "Back".

Name:
 
Reply To:
 
Message:
 
Enter a confirmation key to make sure that you are not operating from a Robot.
Confirmation Key is 95
Back
 / 
Go to Confirmation
Entry fields
Go to Confirmation

There are 0 articles that may be relevant!

広告領域
追従 広告領域
Table Of Contents
Winget vs Chocolatey vs scoop, and the automation of building development environments
Winget vs Chocolatey vs scoop, and the automation of building development environments
Package (app) management software covered in the article
Package (app) management software covered in the article
What you can eliminate using package management software.
What you can eliminate using package management software.
Premise
Premise
Comparison Of Chocolatey vs Scoop vs winget
Comparison Of Chocolatey vs Scoop vs winget
Chocolatey
Chocolatey
feature
feature
Disadvantages and points to note when using this service
Disadvantages and points to note when using this service
About Chocolatey and NuGet
About Chocolatey and NuGet
What is NuGet?
What is NuGet?
The relationship between Chocolatey and NuGet
The relationship between Chocolatey and NuGet
Chocolatey and NuGet are two different things you want to manage.
Chocolatey and NuGet are two different things you want to manage.
Difference between Chocolatey and NuGet package files
Difference between Chocolatey and NuGet package files
Plus, the difference between Chocolatey and apt, such as apt-get
Plus, the difference between Chocolatey and apt, such as apt-get
Official Repositories
Official Repositories
You can have your own repository.
You can have your own repository.
About Scoop
About Scoop
features
features
Types of packages available
Types of packages available
Bucket: A repository of sorts.
Bucket: A repository of sorts.
About winget
About winget
feature
feature
Specifications required
Specifications required
Another Detailed information
Another Detailed information
Things to consider before implementing package management software.
Things to consider before implementing package management software.
References
References
Update
Update
Nodachisoft © 2020