Is sage worth it on windows?

Someone pointed me to sage and it sounds really great.

However, I do my local development on Windows (yeah yeah, haters gonna hate) and from what I’m reading it sounds like it’s going to be too much hassle to be worth it. I want to spend my time developing, not mucking with my dev environment/configuration to force something to work that wasn’t created for this OS.

To be honest though, I really don’t understand. Today I’ve got an IDE (Phpstorm) and a Sass compiler (Koala) and XAMPP and that’s everything I need for development.

Why do I need node and gulp and bower (and Vagrant and VirtualBox?) to develop wordpress websites with Sage?

Thanks!
Abby

Vagrant and Virtualbox are not required nor are they listed as requirements for Sage.

Our workflow works just fine on Windows and is tested on Windows, but you’re more than welcome to roll your own workflow if that’s what tickles your fancy. Feel free to make liberal use of your delete key. The only thing you might want to change is how the stylesheets and scripts get loaded since by default we look for a json manifest file.

Even if you don’t use our workflow, Sage is still good for the PHP side of things. Indeed, of the 9 pages of Sage docs we have on our website, only one of them is dedicated to the workflow. Sage will still help you keep your PHP code organized and DRY.

4 Likes

Ok, good! I’m going to check it out. Thanks!

Hmm, I really want this to work, but I seem to be spinning my wheels a bit.

In fairness, these tools are all really new to me but I kept running into errors. These are the steps I took to finally make npm install run on Windows.

Listing out here in hopes that someone can validate if these changes made sense or not. And then also to help anyone else who tries to make this work on windows.

  1. node.js installation - if you accept the default install settings it installs to the C:/Program Files/... directory, which I think causes problems from the space in the directory name, so I installed to a dir without spaces.

  2. the version of npm that came with node 4.6.0 was giving me errors when I was trying to install webpack, so I updated it with:
    npm install -g npm@3

  3. I did not install gulp or bower like the book says. Instead I installed webpack with this:
    npm install webpack -g

  4. The npm install kept failing for me with with errors around access rights and unable to access repository.

After googling around I found that these errors can be caused by git:// in the URLs in package.json. So I replaced:

git://github.com/roots/sage.git
with
https://github.com/roots/sage.git

But still had errors so replaced the github:// urls too. I wasn’t sure their correct https:// version so instead I just used version #s (hopefully these are the right ones?)

"monkey-hot-loader": "github:rmarscher/monkey-hot-loader#webpack2-import",
changed to:
"monkey-hot-loader": "0.0.3",

"bootstrap": "github:twbs/bootstrap#v4-dev",
changed to:
"bootstrap": "4.0.0-alpha.4",


npm install now runs without error.

It does, however, give me these 2 warnings, which seem to be because I’m on windows (“Unsupported platform”):

$ npm install
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.0.14: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

Thanks!

That older version of monkey-hot-loader isn’t compatible with webpack 2, so you’ll run into issues there. You’re also on the alpha version of Sage 9, which is fine if you’re willing to jump through some hoops, but Sage 8 is our most recent stable release. Our documentation and book are still for Sage 8. We’ll update them when Sage 9 is stable.

The good news is that you’re not likely to run into any Windows-specific issues with Sage 9 even with alpha builds because I’m the primary contributor (so far) to Sage 9, and I develop exclusively on a Windows machine. :slight_smile:

Thanks, QWp6t. I did actually end up using the 8.5 branch and that works fine. And makes so much sense with the book. It’s really cool! Am looking forward to doing more with it.

But yes, I think you’re right I was being too optimistic to start with the alpha version - 8.5 is great, and am happy with that for now :slight_smile:

Hi, im trying to get sage 9 running on my windows machine with xampp.
When running yarn initially i only get a warning that fsevents@1.1.2 is not compatble with win32. and stylelint has unmet peeer dependency postcss@>=5.0.0"

Otherwise the installation looks good and all files are in place, but when i run
yarn run start
at the adress localhost:3000 it keeps reloading in an endless loop and the page stays white. my dev address <someproject.localhost> is working fine with my wordpress installation and i publicPath and devUrl are set correctly as far as i can tell.

I really would like to try sage on a customer-project. :space_invader: Do i have to use virtualbox or trelli to run it propery?

thanks for your help!

I think you’re describing a few different issues here.

According to some quick Googling, fsevents is a Mac-only library, so it won’t work on Windows no matter what. Sage should have this dependency marked as optional.

The postcss dependency is odd, so I’m going to try to lean on the Sage team for that one.

As for the reloading issue, please share the contents of your resources/assets/config.json. Reloading is often a result of something configured incorrectly in this file.

1 Like

Hy, thanks for the response.

The Content of my config.json:

{
  "entry": {
    "main": [
      "./scripts/main.js",
      "./styles/main.scss"
    ],
    "customizer": [
      "./scripts/customizer.js"
    ]
  },
  "publicPath": "/wp-content/themes/patb-sage",
  "devUrl": "http://hova.localhost",
  "proxyUrl": "http://localhost:3000",
  "cacheBusting": "[name]_[hash:8]",
  "watch": [
    "app/**/*.php",
    "config/**/*.php",
    "resources/views/**/*.php",
    "resources/assets/styles/**/*.scss"  // added this line but had the same issue without it
  ]
}

My wordpress instance on xampp is working fine under http://hova.localhost and the theme folder is /wp-content/themes/patb-sage - is there something else that can go wrong?
Browsersync interface is allso working fine under localhost:3001

thanks

I got the same problem did you find a solution ?

So sage won’t work on windows in that case? So confused.

I’m on Mac now, will be using windows for a week now :frowning:

Just install WSL 2 on Windows now. You can even use Docker on Desktop, Vagrant with WSL 2 and even GPU support und you can connect a X-Window server! After some initial headaches everything just works out of the box now.
Docker for Desktop now also works on Windows 10 Home (not just Pro and upwards), so this is an additional plus.

1 Like