Trouble installing without composer

Silverstripe Version: 4.4.4


Up until recently, installation was as easy as extracting a zip file downloaded off your site, but now I’m not even sure of what I have to do. There’s numerous repos on github, all extract/clone in to different directories, with no clear instructions of how they should be pieced together.

I’ve been trying to put the silverstripe-framework, silverstripe-cms, and silverstripe-installer repos together. Am I missing anything? It feels like I am since I can’t see anything web-executable anywhere.

I’m using a shared environment so composer isn’t an option for me.

Whilst it is possible to manage a SilverStripe site without composer these days, it’s really not a lot of fun. Composer will manage the install locations for everything, and will make upgrades much simpler in the future.

The best advice I can give is to set yourself up a local development environment (using WAMP, MAMP, LAMP, Vagrant, Docker, etc) and do all the installation, development and testing on that. Once you have a working site, you can just upload it to your shared hosting account - no need to have composer there. It also means that when you are working on the site, you’re not making code changes on a live environment where you don’t have as much debugging information, etc.

Although, if you find uploading all these files tedious, Plesk and CPanel both come with composer these days and it is pretty easy to install yourself.

The bare installation (with silverstripe/installer) pulls in more than 80 modules. I wouldn’t recommend maintaining all of those manually. Composer comes in quite handy to keep all of those in sync with just a couple of commands in a terminal.

As a quick solution to follow your current workflows you could build what you would get with the zip archive by simply doing the following composer command:

composer create-project --prefer-dist -- silverstripe/installer the-project-name 4.4.4

That creates a new folder the-project-name and puts all the stuff into it.

However, I’d highly recommend embracing its full potential rather than using it in the way I mentioned above.

What’s wrong with using it the way you showed above? That’s the recommended way from SilverStripe :thinking:

1 Like

There’s nothing wrong with it for creating a new project.
However, I was rather talking about it being wrong for updating app dependencies :slight_smile:

There are still a lot of hosting providers with the SSH options unavailable. Sometimes even if the command line is accessible some functions are disabled. How to install SilverStripe when even wget command is unavailable? It’s just impossible to add the composer module sometimes.

You don’t need composer on your production server, as long as you have it available in your dev environment.

Once you have your local / dev version up and running, you can still transfer the entire site to your production site via sftp or similar.