Introducing swiftbox 0.10 with CentOS(RHEL) and Amazon Linux support

swiftbox is a simple and lightweight Swift toolchain quick installation and management tool. It will keep updating to support any Linux distribution that is supported by Swift officially.

In v0.10, swiftbox finally supports all theses Linux distributions the same as Swift.org:

  • Ubuntu;
  • CentOS;
  • RedHat Enterprise Linux (treated as CentOS);
  • Amazon Linux.

It includes the following functionalities:

  • Lookup availability of Swift releases;
  • Lookup Swift nightly build status;
  • Install any supported Swift releases;
  • Install the latest available nightly build;
  • Switch between Swift toolchains (requires a restart of shell);
  • Quick update to the latest version.

I believe swiftbox can be the easiest way for Linux users of these platforms to try Swift. Welcome for PRs and issues.

swiftbox is a single-file shell script, which makes it extremely lightweight and portable. Besides, it only uses resources from swift.org, which is always up-to-date and trustworthy.

P.S. I'll try to deploy shim strategy in the upcoming 1.0 release. 0.x simply uses PATH which has some restrictions on switching.

6 Likes

Since Swift 5.2.4 has been released for all these platforms, you can now try Swift with swiftbox by a single command:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/stevapple/swiftbox/master/install.sh)"
swiftbox get 5.2.4

:tada:

4 Likes

I’m happy to announce swiftbox 0.11 with a help page finally, and also with various command renames (the interface is not stable in 0.x).

Run swiftbox update to upgrade. And then you can use swiftbox -h or swiftbox --help to see all the supported commands.

I’m sincerely sorry for the breaking changes introduced in v0.12: install is now deprecated and the upgrading process is completely refactored. For current users, you need to do a fresh install in one of the following ways:

$ swiftbox upgrade
swiftbox 0.11.1 is already installed in /usr/bin
Input 'yes' or 'y' to upgrade, anything else to do a fresh installation: n
$ sudo rm /usr/bin/swiftbox
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/stevapple/swiftbox/master/install.sh)"
$ sudo curl -o /usr/bin/swiftbox https://cdn.jsdelivr.net/gh/stevapple/swiftbox@0.12.2/swiftbox.sh
$ sudo chmod +x /usr/bin/swiftbox
$ swiftbox upgrade

swiftbox 0.12 is a huge update with totally new installation and upgrade experience. I hope you’ll enjoy it.

I’m now going to refactor the whole script with a clearer structure, and it’ll take some time. Exciting new features like system version aliases and any snapshot installation will come soon after.

For more information about upgrading issues, see here:

Update July 29th:

swiftbox has released version 0.12.5 with an initial CentOS 7 support (for now, nightly only). Thanks a lot for the effort of the whole community to make Swift run well on CentOS 7!