... which is not Ubuntu 14.04, 16.04, 16.10, 18.04 or 18.10.
As you've certainly guessed these are officially supported ones. So if you're not happened to use one of them (I use Linux Mint 19.3) official install instructions will not work (I've tried).
Luckily enough "manual" installation works pretty much automatically and out-of-the-box anyway. :)
Apparently official latest Ubuntu 18.04 toolchain works on my Linux Mint 19.3 just fine. I simply downloaded the archive, extracted it and added
usr/bin subdirectory to my
PATH and then
swift worked with no issues (so far :)).
As we already know we can't just install Vapor CLI (aka Vapor Toolbox) simply following official instructions. Luckily building from source works as automatic as it can. :)
Step one: clone the toolbox repository into some directory and
$ git clone https://github.com/vapor/toolbox vapor-toolbox $ cd vapor-toolbox
Step two: just build the thing with Swift! :D (Note: I copied the command from a Dockerfile in the repo).
$ swift build -c release
After that we have a self-contained executable file
vapor somewhere down the hidden
.build dir we can copy anywhere on our
PATH (I've copied it to my
$ cp .build/release/vapor ~/.local/bin/
Now we can use it! :)
$ cd /tmp $ vapor new Hello $ cd Hello
And after answering 2 questions (I agreed to use Fluent and choose PostgreSQL) we have our first Vapor project.
Now we can build it!
$ vapor build Building project.. swift build /tmp/VaporTest/Hello: error: manifest parse error(s): Invalid semantic version string '-beta' error: Failed to build.
OK, just not yet.
Apparently, the toolbox missed some template data for the
Package.swift. Particularly in the line 13:
.package(url: "https://github.com/vapor/fluent--driver.git", from: "-beta")
That should be
.package(url: "https://github.com/vapor/fluent-postgres-driver.git", from: "1.0.0-beta")
At least that's what I've figured from the Github repo and that worked. :)
Run build again, wait for ages... I had no nerve and time to wait till completion, I only waited for couple hours. The process is still flawed it seems... :'D