Node-sass preventing `meteor update`

Trying to run meteor update gives me this error:

npm ERR! node-sass@4.5.2 postinstall: `node scripts/build.js`

But, looking in my package*json files I see:

package-lock.json:    "node-sass": {
package-lock.json:      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz",
package.json:    "node-sass": "^4.14.1",

…and, indeed, an npm install node-sass@14.14.1 is successful, and npm list shows this version to be installed.

Can anyone suggest what might be going on here?

Do you still have a problem, or did that fix it?
If it’s fixed, I would let sleeping dogs lie :slight_smile:

I still have a problem.

meteor update -> error -> install node-sass -> success -> meteor update -> error etc. etc.

Can you post the full error logs from meteor update?

Are you using fourseven:scss? Because it installs it’s own version of node-sass which is likely the problem.
Have a look at the version compatibility table here: https://github.com/Meteor-Community-Packages/meteor-scss
And check that the version of fourseven:scss matches a compatible meteor version.

The alternative is to remove it, update and install the atmosphere package again, that way it won’t get in the way of the updater’s dependency resolver

If you are using fourseven:scss, there’s no need to have it in package.json, so I would remove that too.

1 Like

Here’s the log:

I’ve not got fourseven:scss in my packages but something is clearly trying to install it; one of the things I see after running meteor update is Loading package fourseven:scss@4.9.0 , which is a version that’s too old. I don’t know how to determine what that is, though - do you have any suggestions?

That looks like the npm debug log, not the log from meteor update.
Thankfully, there’s a clue in there anyway, that the paths for node-sass include .meteor/packages/materialize_materialize

And looking at materialize:materialize, it does use fourseven:scss.

Unfortunately it’s version 4.5.4, which only works for Meteor 1.4.1 until 1.6

So you could either remove the package and switch to npm (which might be annoying) or make a local fork of materialize:materialize and update the fourseven:scss version

Thanks - looks like you’ve correctly identified the offending package.
I’ve cloned it to a local packages file, made modifications. Then, unpinning the version of coffeescript seems to have allowed some progress. Upgrade seems to have worked, at least, thought the appearance is totally messed up. That’s another matter, though. :wink:

1 Like