ERROR in Cannot find module 'node-sass'
Asked Answered
B

34

296

Config: macOS High Sierra, version 10.13.2, node:v8.1.2 npm:5.0.3 When I run npm start in my angularjs project I get this error:

ERROR in Cannot find module 'node-sass'

After this I run:

npm i node-sass

Now I get this error:

gyp: No Xcode or CLT version detected!
gyp ERR! configure error 
gyp ERR! stack Error: `gyp` failed with exit code: 1

Why won't npm install node-sass? How can I install node-sass?

Bayne answered 8/1, 2018 at 9:59 Comment(1)
run npm install --save-dev node-sassCanady
B
542

Here's the solution:

sudo npm install --save-dev  --unsafe-perm node-sass

Enjoy!

Edited to explain the options (from comments):

--save-dev is used so that your app is able to find the module in local node_modules. --save-dev adds package to devDependencies in package.json. --unsafe--perm is used to run install scripts as root. To avoid sudo, use nvm instead. --unsafe--perm is really not needed as sudo is already mentioned. So the command basically air tights the script to install node-sass at any cost.

Brush answered 30/9, 2018 at 19:8 Comment(11)
This worked, but if someone could add to the answer on why this worked and the simple npm install node-sass did not work it would be instructive.Plunder
All I needed was sudo npm install --unsafe-perm and it worked for me because I had EACCES issues.Mourn
all I need to was install node-sass in dev dependencies npm install --save-dev node-sassHammock
This worked for me. I started getting this issue when I installed node 12 (as I started a new angular project in Angular 8). My angular 6 app would no longer build and throw the error about node-sass. All fixed :)Turnedon
I'm still not clear WHY or HOW this solution works. How does adding to "devDependencies" solve the problem? How will it NOT cause problems when deployed? Side-Note: I'm very new to Angular and front end programming. Any clear explanation would be very useful! Many thanks!Brittnybritton
@AmoghNatu just running npm install node-sass will install the node-sass module. Adding --save-dev will also add the dependency to package.json. Adding --unsafe-perm allows npm to download node-sass binary (considered unsafe) directly to your project.Supremacy
This is funny, because I had exactly the same issue in the same project in 2 computers, and this solution worked in one computer and didn't work in the otherOrose
Solution worked for me is npm install node-sass@latestIngenious
Tried and got: 'sudo' is not recognized as an internal or external command, operable program or batch file.Jamila
I bet you were running sudo on Windows...Haggis
sometimes you may get incompatibility errors while doing this operation - if you do - then follow this - #70281846Bugeye
E
116
  1. This error is for node-sass is not present ... to solve this just you want to run following command

npm install node-sass

Elsewhere answered 24/5, 2018 at 6:34 Comment(3)
add as devDependencies npm install --save-dev node-sass.Canady
Doesn't help. I've already installed node-sass a dozen times (which wasn't easy), but it still fails. Node-sass is clearly a problem.Loy
@AshokR Can you please elaborate on exactly WHY adding it as devDependencies solves the problem? How will it NOT fail when deployed to prod?Brittnybritton
Y
44

According to node-sass github page, supported node.js version vary release by release.

https://github.com/sass/node-sass

enter image description here

Example: Check the version of node you are running.

node -v
-> v12.0.0

you need node-sass v4.12+. so you can

npm install [email protected]

or if 4.12.0 is the latest

npm install node-sass@latest

(npm install node-sass will install the latest version in many cases, but remember that it does not always install the latest(in this example 4.12.0) if dependency in package.json is written like ^3.0.0, ~4.11.0) What's the difference between tilde(~) and caret(^) in package.json?

Lastly, using sudo with npm is not a good practice. Please refer to this article. https://medium.com/@ExplosionPills/dont-use-sudo-with-npm-still-66e609f5f92

Yuen answered 11/9, 2019 at 13:12 Comment(4)
this solution worked for me ... I was using older 2010 macbook, osx 10.12, and matching the node-sass version as described here solved itManutius
"npm install [email protected]" - resolved my issue - thanksDefluxion
npm install [email protected] Worked for meMariehamn
This is the only solution that worked for me(Installing the correct version).Sloatman
T
28

Doing npm uninstall node-sass and then npm i node-sass did not work for me.

Solution worked for me is npm install --save-dev node-sass.

Happy Coding..

Toot answered 3/5, 2019 at 10:55 Comment(0)
S
23

Run:

npm rebuild node-sass --force              

and it'll work fine.

Surber answered 17/5, 2018 at 2:38 Comment(3)
Doesn't work fine, sadly. For me (on windows) the problem remains.Loy
Thanks you for this, I didn't realise node-sass required Pythin somehow, but the rebuild error message made this very clear.Calciferol
sass doesn't require python, node-gyp what is requiring python and failing most cases.Sammysamoan
N
7

It worked for me...

sudo npm rebuild node-sass --force
Nara answered 3/10, 2018 at 8:6 Comment(1)
Give some explanation so that it would be easy to understand the solutionHagen
S
7

node-sass is not being installed and it can be one of many reasons

You have not installed it

npm install node-sass --save-dev

You are having a permissions error

sudo npm install --save-dev  --unsafe-perm node-sass

You had a memory issue because it tried to make it (build from c code in your platform),this applies to some platforms and node versions

node --max_old_space_size=8000 $(which npm) install node-sass --save-dev

Your node and npm versions are not compatible,which most probably generated a failure in the build process,

In this case use n or nvm to make sure you have the same version in the new and original environment, the one where it did work, as this is usually by using different versions in different environments

Selfgovernment answered 21/5, 2019 at 18:40 Comment(0)
H
6

This is what worked for me. I first uninstall node-sass. Then install it back.

npm uninstall node-sass
npm install --save-dev node-sass

Hamil answered 17/12, 2019 at 17:58 Comment(0)
E
5

In my case I also had to perform:

npm install sass-loader

To fix the problem

Embroidery answered 2/7, 2019 at 5:26 Comment(0)
V
5

It failed for me because I was using the latest version of node (12.7.0) I then had to explicitly install the latest version of node-sass with:

npm install [email protected]

Vivid answered 26/7, 2019 at 22:59 Comment(0)
L
4

I have fix this problem without installing node-sass by this command:

npm install [email protected] --no-save --unsafe-perm
Legpull answered 25/2, 2020 at 17:30 Comment(0)
H
3

I checked the Node version in my local machine, which is v10.11.0.

Then when I checked my development machine, where the error occurred, it had Node version V.10.8.0.

Upgrading Node to v10.11.0 in my development machine fixed the issue.

Hope this helps.

Helio answered 20/11, 2018 at 3:4 Comment(1)
this is the answer which worked in my case. thanks.Facetiae
S
3

One of the cases is the post-install process fails. Right after node-sass is installed, the post-install script will be executed. It requires Python and a C++ builder for that process. The log 'gyp: No Xcode or CLT version detected!' maybe because it couldn't find any C++ builder. So try installing Python and any C++ builder then put their directories in environment variables so that npm can find them. (I come from Windows)

Struggle answered 4/12, 2018 at 2:41 Comment(0)
R
2

There is an issue with downloading npm dependencies due to network which you have. try to download the npm dependencies in open network . you won't get any issue. i am also faced this similar issue and resolved finally.

use below commands: npm install (it will download all depedencies) npm start to start the angular application

Rhinehart answered 7/2, 2018 at 10:3 Comment(1)
@TinySkillz i think he is mentioning no-proxy networksTrogon
E
2

npm install node-sass will do the job in most of the cases, as it will add missing sass npm dependency module doesn't exist or it will overwrite previous crashed version.

For Mac Users use sudo in front of above commands.

On Windows machines npm rebuild node-sass --force may not work for some users because it's essentially saying, "please force npm to rebuild the sass node module for me". It will not work because that module doesn't exist.

Whenever you did npm install to the initial installation, the sass module did not get installed, which is why this problem occurs.

Edam answered 29/1, 2019 at 1:28 Comment(0)
F
2

My problem was that a webfilter didn't allow me to download the node-sass package, when I executed the command

npm i

After the installation of the Windows Build Tools

npm i -g windows-build-tools

it build node-sass on it's own and now I can use it.

PS: I also installed Python 2.7.17 before, but I don't think that helped.

Falkner answered 23/10, 2019 at 15:19 Comment(0)
S
2

Try sudo npm install [email protected] if your node version is 12.

Spiculum answered 18/11, 2019 at 18:38 Comment(0)
G
2

I had the same error when installing dependencies in Angular. I've tried aforementioned techniques but none of them worked until I've deleted package-lock.json which was previously created when running Node v11.

Now I'm using Node v12 so this is how I got resolved.

I repeat if you have package-lock.json delete it, file and then install dependencies.

Glycerite answered 14/2, 2020 at 7:7 Comment(0)
P
2

you must install node-sass in dev section of package.json

npm install --unsafe-perm node-sass --save-dev  
Putupon answered 10/6, 2020 at 9:50 Comment(0)
M
1

If you run

npm install node-sass

and it still doesn't work remember to change permission to folder

Mallett answered 13/10, 2018 at 7:3 Comment(0)
V
1

I have also been facing this error. None of the above methods work for me. Please follow this as it worked for me.

For Installing node-sass in Ubuntu 16 via npm :-

You can install with npm 5.2.0 Version

If you are using nvm :-

nvm install 8.2.1
nvm use 8.2.1
npm install node-sass

If you are using npm separately then upgrade or downgrade npm version to 5.2.0

npm install node-sass
Vig answered 25/10, 2018 at 6:26 Comment(0)
T
1

I ran into this error while I was using Microsoft Visual Studio Code's integrated git terminal. For some weird reason VS code was not allowing me to install 'node-sass'. Then I used 'Git Bash' (which was installed with git) and ran the following command: npm install node-sass It worked for me. I don't know why & how it worked. If anyone has any explanation please let me know.

Treulich answered 26/2, 2019 at 1:21 Comment(1)
I suspect it is because you needed to be running as adminTurnedon
D
1

You should try to check the log generated by npm install.

I have faced the same issues, and I found the error that python2 is not found in the path (environment variable).

After installing Python, everything worked fine.

Drollery answered 1/3, 2019 at 4:28 Comment(0)
I
1

Upgrading to latest version of nodeJS solved my problem

Inscription answered 11/7, 2019 at 12:22 Comment(0)
D
1

npm install --save-dev --unsafe-perm node-sass

This will do magic, you can use it with sudo

Dedicate answered 11/8, 2019 at 8:35 Comment(0)
S
1

Exactly same issue i was also facing and i tried all above answers but could not resolve, Below is the command which fixed my problem.

npm install sass-loader sass webpack --save-dev

https://www.npmjs.com/package/sass-loader

Smetana answered 20/10, 2021 at 14:38 Comment(0)
M
0

I had a similar issue when I tried to run a project. First i uninstalled the current version

npm uninstall node-sass

Then i reinstalled to the latest version with

npm install node-sass
Matthew answered 25/3, 2019 at 5:53 Comment(0)
P
0

I've fixed this problem by installing v10.16.10 node version.

Pfister answered 18/7, 2019 at 10:56 Comment(0)
H
0

I met same issue installing node-sass when I am on Node 12.9.0

Once switching to Node 10.19.0, the issue is gone.

Reference: https://github.com/sass/node-sass/issues/2632

Horatio answered 3/3, 2020 at 5:46 Comment(0)
S
0

There seems to be an issue with the version "node-sass": "4.5.3", try updating to the latest version. Such as you could try adding ^ "node-sass": "^4.5.3" for the latest version

Stoplight answered 14/7, 2020 at 20:49 Comment(0)
P
0

Use this version for node version v 14

"node-sass": "^5.0.0"

Prow answered 23/1, 2021 at 23:50 Comment(0)
N
0

I had to uninstall then reinstall Xcode. That fixed the error for me.

Norvun answered 24/6, 2021 at 23:25 Comment(0)
B
-3

What fixed it for me was installing the latest version of node-sass, in this case 4.7.2.

Bayne answered 8/1, 2018 at 12:10 Comment(2)
Install how? In the project or global?Henceforward
@lealceldeiro: why would you install node-sass globally? if you have a project with scss files, you should install it in project level. for your how to install: all npm packages are installed by running npm install <package name> or using yarn.Sammysamoan
P
-3

just run this command in terminal, it will install latest version of node-sass

npm install node-sass

Placidia answered 11/9, 2019 at 14:15 Comment(1)
3 times negative as not useful and none of them gave a reason. why ?Pornography

© 2022 - 2024 — McMap. All rights reserved.