This year we began using Roots’ Trellis, Bedrock and Sage to develop and manage websites.
So far, I’ve only successfully completed one. But I’m actively working on three others. All riddled with obnoxious problems that seem to appear out of nowhere.
Luckily for me, I have four computers. Two Macs, one Windows and one Linux Ubuntu.
So when I get stuck on one of these computers I sometimes log onto the other and run the exact same commands there and either get new errors or work it out.
Today, I’m using the iMac with MacOS Sierra 10.12.6 and while attempting to install the Sage Theme into my Trellis + Bedrock stack I discovered I did not have Composer installed.
Now, I have installed it in the past, and probably uninstalled it because I encountered some previous error that lead me to think starting over would be easier than debugging.
So I followed the official instructions to install Composer, and when I run
php composer.phar I get the list of commands you can run with Composer, which means it’s working.
So I exit Terminal completely and navigate to my
site/web/app/themes/ folder and run
composer create-project roots/sage my-site 8.5.3 but I get an error:
zsh: command not found: composer
The only reason I can think this is happening is because ZSH must be looking in the wrong location for composer. But that doesn’t really make sense because if that was the case I should have gotten the same error when I ran
php composer.phar from
~/ earlier. At least by my logic. So it has to be something else.
After doing some more research, I stumbled across this post which indicated the location that Composer was installed has to be modified from it’s default install location. I first did this on my other Mac, and my Linux Ubuntu machine and don’t recall being required to take this step. Nor is it mentioned in the Roots docs. But upon relocating it to my global directory instead of my user directory I was able to rerun the original command in my Themes directory and it worked.
mv composer.phar /usr/local/bin/composer
cd ~/mysite.com/site/web/app/themes/ && composer create-project roots/sage my-site (this time I left off the version number because it automatically downloads the latest version anyway. It’s possible that that specify the version number so you can lock it in that way so it doesn’t accidentally update if you run a
composer update but I don’t update sites often at this point so that doesn’t matter to me.
Obviously, this is not an error with Roots, Trellis, Bedrock or Sage themselves. But I attribute it as a failure of the documentation there to specify this. I will propose to the community a patch on this. But so far most of the contributions I’ve made they reject because they seem to feel my issues are so acute that no one will ever experience them. Considering I manage about 12 developers who all ask the same questions I have to disagree. But, once again, I’m not in charge of their forums but at least I can post it here to help those who do experience the issue.
The Issue Recently, I discovered that when I saved my code it was no longer appearing when I reloaded the website while working locally in development. This occurred along with this error so I thought they were connected. The Solution It turned out that when you run gulp --production that the Theme begins to look in […]
[Browsersync] Couldn’t open browser (if you are using BrowserSync in a headless environment, you might want to set the open option to false) I have built several sites with Roots stack now and suddenly, BrowserSync is no longer working on one of them. However, BrowserySync is working on all the others. So this suggests to […]
Today I switched from my Mac to my Linux Ubuntu and attempted to continue working on a Roots site. After cloning it down and using vagrant up to start the server and the site. Then I noticed the sites styling was broken. So I looked at the main.css stylesheet and discovered it was not found. So […]