gpspake/grunterie

Grunterie setup broken after FoundationPress set up

Closed this issue · 4 comments

@gpspake I need a little guidance from you. I have a number of projects for which I've used Grunterie and the associated Grunt setup you outlined. I had the need to experiment with FoundationPress which new uses Gulp and a slightly different set up.

Since am more designer than developer, I am not really savvy about the pre-processor components and how they interact.

But, once I set up for this other site using Gulp, I get an error if I try to watch one of my Grunterie sites: Loading "sass.js" tasks...ERROR >> Error: 'libsass' bindings not found. Try installing "node-sass'? Warning: Task "sass" not found.

It seems the two systems are not compatible. Is if possible for me to remediate so that I can access my Grunterie sites?

@squidzink FoundationPress and Grunterie aren't compatible because FoundationPress is using Foundation 6 and Grunterie is using 5.

Gulp is an alternative to Grunt; they serve pretty much the same purpose and you wouldn't use them both on the same project. Foundation 6 dropped Grunt and went with Gulp - which is preferable IMO. FoundationPress is using Foundation 6 and Gulp.

As a result, I think I'm going to stop maintaining this theme for the time being and recommend FoundationPress as an alternative. At some point, I might try to create the same look in FoundationPress but that will be a separate project.

I can't tell whether you might be trying to use gulp on a grunt project or vice versa but, for any projects built using this theme, you should continue using grunt only and, if you're using foundationpress, you'll use gulp.

Regarding your specific error, it's hard to say what the root cause is but when you see that Try installing "*package-name*", That's NPM telling you that it looks like you're missing a package. You can try running npm install package-name to resolve that issue.

Thanks @gpspake. I am not trying to cross breed in any way, I want to be able to run both types of projects.

All I did was go through the FoundationPress set up tutorial for a new test project.

But it seems that maybe the versions of node.js and npm that were loaded in the FoundationPress set up may not be compatible with the Grunterie setup in some way or overwrote other dependencies that I have know clue how to troubleshoot.

I just don't really know enough about the "system" to know what to do to continue working on my Grunterie projects and experiment with FP at the same time.

I'll go ahead and see if the reinstall of node-sass works. If you can think of anything else I should look at please advise.

Extra: should I run a node-sass reinstall within my project directory or globally in some way?

@gpspake thought I'd report back. This seemed to get things working again with my grunterie sites:

  • deleted grunt-sass and node-sass directories within the grunterie > node_modules directory
  • ran npm install grunt-sass and npm install node-sass. I'm guessing that updated those modules to be compatible. I was the able to run grunt and successfully watch/compile scss changes. And, the FoundationPress install looks to be working as well. Whew! That was a pretty important save.

I really like the Grunterie theme and have used it multiple times over the past year. The main reason I started looking at others was that it seemed that it was falling off of your radar and that Foundation 6 has been advancing as well.

@squidzink Glad you got that working.

Another option might be to delete the node modules directory completely and just re-run npm install (or npm updae) which will install all of the packages included in package.json. grunt-sass and node-sass are both listed as dependencies there.

Sometimes one dependency will be updated and conflicts will arise with another one so you have to make sure the versions listed in package.json don't conflict.
For instance, the versions of grunt-sass and node-sass listed as dependencies for this project might both require different versions of sass so you might end up having to change the version of one or the other to a later on so everything's compatible.

That doesn't happen too much but it's something I have to deal with occasionally.