What engine versions do *I* have available

I’m sometimes on remote connections which can be slow and sometimes unreliable, at least for large downloads like Commandbox picking up a new version of Lucee or ACF. I was trying to solve an issue, I thought “let me see how ACF handles this”. I switched to server start cfengine=adobe. But when I went back to ... cfengine=lucee now Commandbox wants to download a new Lucee version that I don’t always want to happen. I know you can lock the server.json to a particular version. But…

I have zero idea which engine I was on previously, and I don’t know how to find out what Commandbox already has available. Like ... cfengine=lucee@available or @max would be cool. Maybe an additional option, too, to lock in what is available, like ... cfengine=lucee@available --server-version-lock or something that will add it to the server.json file.

If there IS a solution, it would be good for y’all to update this page with that information:

PS: Perhaps unrelated, but it would be cool if, for larger downloads like a new Lucee version, if Commandbox, while pulling from Forgebox (or wherever) could resume broken downloads. I brought this topic up because I started the (slow) Lucee download with the cfengine=lucee and then let it go, hiding the console window. Forgot to check it, and sure enough the download failed (probably halfway through) and when I fired the command again, it starts from scratch on the download.

If you forget the server and start without a cfengine specified, CommandBox will use the version of Lucee that it is packaged with ( e.g. no download )

If I do a server forget then I’d lose potentially a lot of other things, wouldn’t I?

How can I tell which version of Lucee is now running against a server. (Assuming a fresh console window.)

If you want to know what version is currently running on a server, run

server info

If you want to know what versions ran in the past, open the server home directory and look at the folder names

open "`server info property=serverHomeDirectory`../../"

If you want to know what versions of Lucee there are to start on ForgeBox, run

forgebox show lucee

or visit https://forgebox.io/view/lucee#versions

If you want to know what versions CommandBox can start without having to download, run

artifacts list lucee

and add to it whatever version the CLI is running, which you can see by running

info --json | jq CFMLVersion

The default semantic version range used when starting a server (or installing any package, for that matter) is @stable which gets the latest stable version. However, if you don’t specify any CF engine at all, you’ll get the one already bundled in the CLI.

Any time you specify a cfengine and/or version, it will be saved automatically in your server.json for you. So running

start cfengine=lucee@1.2.3

would put

{
  "app" : {
    "cfengine" : "lucee@1.2.3"
  }
}

in the server.json.


My recommendation if you want to test a site quickly on another engine is to give it another name

start cfengine=adobe name=mysite_butadobe

then, instead of overriding the cf engine on the existing server, it will create a new server with a new name which can be started/stopped/forgotten independently.

All you’d really lose is the settings in the administrator, but that’s only IF yoiu’re not using CFConfig. Run

cfconfig export .cfconfig.json

and all your settings should come back every time you ever start the server again, even if forgotten.

1 Like

Hey, that’s GREAT info, Brad. Yeah, the more options you have, the more complexity there is. I will grab some of this info and put in my little tech-wiki so I can find it later. The thing I needed was definitely artifacts list lucee

Thanks, Mr. B!

1 Like