When I tried install vue store front in my local but when I tried "yarn install" command I get following error. How can I solve this error? How can I solve this error?
error /var/www/html/vue-storefront/node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments:
Directory: /var/www/html/vue-storefront/node_modules/node-sass
Output:
Building: /usr/bin/node /var/www/html/vue-storefront/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli '/usr/bin/node',
gyp verb cli '/var/www/html/vue-storefront/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli 'rebuild',
gyp verb cli '--verbose',
gyp verb cli '--libsass_ext=',
gyp verb cli '--libsass_cflags=',
gyp verb cli '--libsass_ldflags=',
gyp verb cli '--libsass_library='
gyp verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@13.9.0 | linux | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "/usr/bin/python3.6" in the PATH
gyp verb `which` succeeded /usr/bin/python3.6 /usr/bin/python3.6
gyp ERR! configure error
gyp ERR! stack Error: Command failed: /usr/bin/python3.6 -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack File "<string>", line 1
gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack at ChildProcess.exithandler (child_process.js:303:12)
gyp ERR! stack at ChildProcess.emit (events.js:321:20)
gyp ERR! stack at maybeClose (internal/child_process.js:1026:16)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
gyp ERR! System Linux 4.15.0-88-generic
gyp ERR! command "/usr/bin/node" "/var/www/html/vue-storefront/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /var/www/html/vue-storefront/node_modules/node-sass
gyp ERR! node -v v13.9.0
.npmrc
file in the project folder containing python = "/usr/bin/python2.7"
and install. According to link, python 3.x.x is not yet supported.
I had the same problem and I solved with the steps:
if your are on Apple M1 Chip, run terminal with Rosetta 2 (optional, only necessary if you have the Node installed with Rosetta) check your node-sass version in your package.json and compare with the following table:
NodeJS Supported node-sass version Node Module Node 16 6.0+ 93 Node 15 5.0+ 88 Node 14 4.14+ 83 Node 13 4.13+, <5.0 79 Node 12 4.12+ 72 Node 11 4.10+, <5.0 67 Node 10 4.9+, <6.0 64 Node 8 4.5.3+, <5.0 57 Node <8 <5.0 <57
check your Node version with: node --version install the Nodejs version according with your node-sass, if your are using NVM, run: nvm use DESIRED_VERSION clean old node_modules deleting the folder or type this on terminal: rm -rf node_modules run: npm install
Resource:
https://www.npmjs.com/package/node-sass
I had the same issue upgraded the node-sass version to be the same as node version. with yarn just run:
yarn add node-sass
this will upgrade the version and fix the issue
yarn remove node-sass
, yarn add sass
.
yarn add node-sass
worked good for me. Thanks
I am running Rails 6
and for some reason it was pulling webpacker 4.3.0
which was pulling node-sass 4.3.0
rather than 6.0.0
which is the latest as of the date of this post.
What worked for me is the following:
Deleting the node_module folder, package-lock.json and yarn.lock In my package.json, I upgraded rails/webpacker: 5.3.0. I then re-ran yarn install. Then I ran yarn add node-sass
That worked like a charm, after trying everything else above.
I believe those were the exact steps, although to be honest I have been trying sooo many things and they didn't work and I finally got it to work so there is a possibility I may have missed a step, but I did my best to re-create it for any future frustrated soul out there.
yarn
and that worked for me.
Try installing sass instead of node-sass. It worked well for me.
yarn remove node-sass
yarn add sass
Just upgrade your sass version in your yarn.lock
file. For node 14 the appropriate version for node-sass
is 4.14
.
So adapt to your node version.
package.json
specified webpacker v4.3.0
and it includes node-sass as a dependency. Updating webpacker
to 5.3.0
was the solution for me.
I changed the node version from 16.0 to 14.x in my package.json file and it worked.
If it's a Rails project, upgrading webpacker did the job for me.
yarn add @rails/webpacker
Faced the same issue. If you look at the error stack, it says:
Error: Command failed: /usr/bin/python3.6 -c import sys; print "%s.%s.%s" % sys.version_info[:3];
File "<string>", line 1
import sys; print "%s.%s.%s" % sys.version_info[:3];
^
SyntaxError: invalid syntax
It's trying to use Python2 but instead uses Python3 which is not supported.
My system runs Python3 when called using the python
command, so I fixed this by installing Python2 and aliasing it to the python
command:
alias python=pyhton2.7
.bashrc
or somewhere similar (if you're on Linux).
npm config set python python2
Solutions here don't work for me. Until I delete the node_modules folder and yarn.lock.
rm -rf node_modules
rm yarn.lock
yarn instal
i have been facing the same problem for a while now on rails app, and was solved by upgrading webpacker:
# check your Gemfile for version restrictions
bundle update webpacker
# overwrite your changes to the default install files and revert any unwanted changes from the install
rails webpacker:install
# yarn 1 instructions
yarn upgrade @rails/webpacker --latest
yarn upgrade webpack-dev-server --latest
see: https://github.com/rails/webpacker#upgrading
props to chase439 : https://github.com/sass/node-sass/issues/2447
my solution use node v10.19.0
https://github.com/nodejs/docker-node/issues/1149#issuecomment-552705885
Had a similar problem with /node_modules/node-sass: Command failed on building my application, which also occurred within the last week without any updates on my end. Had a look at the node-sass docs and the node version on the server and it was using node v12.13.0 and the version of node-sass was 4.9.x. in the node-sass release docs it lists that for node v12 you need to have node-sass v4.12 and up. Updating node-sass version corrected the build for me, hope it helps for you too. node Release docs: https://github.com/sass/node-sass/releases
I solved this issue by installing the python 2.7 version on windows os.I had Python 3 installed before. This error happens because of the python version 3.
Install node-sass
globally with yarn
Or Add node-sass
to your project
npm install
did not throw an error. Actually I'm not a yarn expert but you can also try clean yarn's cached and globally downloaded files and re- install yarn
. By the way I'm using macOs Catalina.
On top of the suggested resolutions, I've found that sometimes yarn.lock
has a node-gyp
locked version for node-sass
. When I changed it from 3.8.0 to 8.4.1 everything worked.
If you are getting this error while trying to deploy your project on Heroku, these steps worked for me:
On 16 December 2021, Heroku changed the Node version to 16.13.1 (which was previously 12.16.2). Since we have dependencies such as node-sass v4.14.1
which requires Node v14, we need to specify the Node version Heroku should use.
First, we need to use multiple buildpacks, which will specify to install Node first then install Ruby (Read more from Heroku).
Please make you install them in the order below
$ heroku buildpacks:add heroku/nodejs $ heroku buildpacks:add heroku/ruby
Verify that the buildpacks are installed
$ heroku buildpacks heroku/nodejs heroku/ruby
If buildpacks are not in the order above, remove each of them and add them again. If, for example, ruby comes first, you can just remove it, then add it again as below.
$ heroku buildpacks:remove heroku/ruby Add it again $ heroku buildpacks:add heroku/ruby Now you should have the correct ordering.
Specify correct Node version in package.json (As referenced on stackOverflow)
{ ... "engines": { "node": "14.x" }, ... }
Make sure to run $ yarn install to update your dependencies based on the new Node version.
This happens because your application contains a Yarn lockfile yarn.lock which does not match the dependencies in package.json. This can happen if you use npm to install or update a dependency instead of Yarn.
If applicable commit to Git and Deploy!
I found this solution in this article and it worked for me, hope I could help someone
Another option is to update your PATH environment variable to point to Python2 instead of Python3 (remove the Python3 directory from PATH)
Got very strange solutions around after reading the heroku logs.
Initially I have added buildpacks into this order: heroku/ruby heroku/nodejs
https://i.stack.imgur.com/gOhql.png
But after looking into the complete log and error i have change the order: heroku/nodejs heroku/ruby
https://i.stack.imgur.com/qAslv.png
After that precompile works nicely.
For macOS users
If you need to use node-gyp
from within npm
(e.g. through npm install
), you will have to install node-gyp (either globally with -g
or to a predictable location) and tell npm
where the new version is.
In my case, turns out my project defaulted to using node-gyp v3.8.0
to building my project's modules.
To remedy that, I ran the following commands:
npm config set node_gyp /usr/local/lib/node_modules/node-gyp
npm install
I hope this is insightful for anyone going through the same.
Having same issue here. I did
nvm install 14
because the node-sass
version I have in package.json
is 4.14.1
then this will display - Now using node v14.19.3
(npm v6.14.17
) after I did
yarn install
and it was a success
I ran into this issue when containerising a VueJs app. I was using the node:15.12.0-alpine tag as base image before but the issue was fixed once I changed to the full node image (node:15.12.0) that uses debian-stretch.
It's failing because python3 is used here. Create a .npmrc file in the project folder containing python = "/usr/bin/python2.7" and install. According to link, python 3.x.x is not yet supported. – NaceurBouhamed Feb 25 '20 at 12:28
****python = "localpath/python27/python.exe"
RESOLVED
With gulp I got "Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 12.x
Found bindings for the following environments:
Linux 64-bit with Unsupported runtime (93)
This usually happens because your environment has changed since running npm install
. Run npm rebuild node-sass
to download the binding for your current environment."
So I ran npm rebuild node-sass
and that worked! Then npm install and everything went ok.
TBH my problem was that I tried to "npm install angular-cli" instead of "npm install @angular/cli", hope this helps other dummies like me :)
For Vue Storefront 1, you can try using node version 10.16.0 and it will work fine.
This happened to me a day after upgrading node. I had to revert to a lower node version. I had upgraded to 16.13.2 from 14.15.4
I had this problem when I was using a newer version of Node (16 via nvm) than my current version of node-sass (4.9) supported. Falling back to Node 10 worked to relieve the issue. Ângelo Polotto's answer has a good compatibility chart to follow.
sometimes not show correct error,update the node version and retry to install node-sass and sass-loader
Success story sharing
node --version
and switch node version usingnvm use 14
in order to install dependencies using the right node version.