-
Notifications
You must be signed in to change notification settings - Fork 1.3k
How do we improve the missing binary experience? #2351
Comments
I'd say that the error message is correct in case it shown something like this "current node-sass package was built for node lower version and can't be run in this version. You need to do rebuild with command |
There are a couple different conditions here. user has an older version of node-sass, and updates to a new (unsupported) version of NodeThis is your case.
We tell to user that they're now on a version of Node that isn't supported. Their only option is to use a version of Node that is supported. They're given a link to see what version are supported. user has a new version on node-sass, and updates to a new (supported) version of Node
Here they are told that they're using different version of Node than when they ran Note: the command show is wrong. I will fix this. I should be In the first case, we can't tell the user to just run
Local compilations suck, are slow, and quite possibly will not work because
The users only option is to use a supported version, or update node-sass itself. Now if you think there is a way to more clearly communicate those issue then we're open to suggestions. It's taken us a long time to get this far, it's not an easy problem. |
So, the Node 10 is unsupported (I have scrolled to the very bottom on the releases page) and it have shown to me the first variant. But the As of the first variant of the message - Unsupported environment with |
Every version of Node has a "module version". This is the We maintain a mapping of these version numbers to human readable Node version names. We even call the function
Sometimes you get lucky and it's fine. Sometimes it wont. It depends on what things changed in that version of Node. If the Node C++ APIs changed in a not backwards compatible way then we need to update our C++ code to be compatible. This situation is getting better thanks to the new N-API that just went stable in Node 10. So in the future, local compilation will be more reliable between Node versions, but will still be slow and suck! |
Got it. So by coincidence, I thought that it is related to
I'd change the link to section (not sure, is it possible in release details) here, or, at least, change message to
So you can't say here, will it be lucky for everyone who now will update node version to 10, or not, correct? Or if in 10th version nothing were changed on C++ APIs - |
You've some raise good points. About the visibility of the supported environments. The recent GitHub release page redesign has moved the release assets above the changelog copy. This big list of jibberish links is overwhelming, and doesn't signal there's anything to see below. It would be good if we could make these more visible, and obvious. |
That also matters. It's listed as either
The complication with this is that the supported environments are specific to particular releases. Alternative could be a better structure changelog instead of GitHub releases.
It means that nothing changed in V8 that broke the C++ APIs we use. Which means anyone who runs a rebuild will be able to successfully compiled the node-sass C++ code locally , if they have the correct compiler too chain to do so. Most Windows and linux users will not be default. The thing is we can't know if there will be a breaking C++ API change until that version of Node is released.
When we say unsupported, we mean is for that node-sass + Node version combination
|
Note: once we migrate our C++ to the new N-API it's much less likely new versions of Node will break our C++ code. |
Great, It could be great to migrate as now: Node.js remove version dependencies |
This is mostly a copy of the #1764 and
npm rebuild node-sass
actually helps.But
the issue here is that I need to search for how-to-fix that error. It should, at least, show message
try to run 'npm rebuild node-sass'
, or better ask user is he wants to do rebuild and rebuild by button click or answeryes
in the console.Currently the issue #1764 is not fixed. It is like "hey, we have workaround here, search by yourself".
P.S. in my case it just started to show the message after node and npm update. So the message "does not yet supported" is wrong in the root.
The text was updated successfully, but these errors were encountered: