Module not found: Can't resolve 'sass-loader' [Solved]

avatar
Borislav Hadzhiev

Last updated: Apr 6, 2024
3 min

banner

# Module not found: Can't resolve 'sass-loader'

To solve the error "Module not found: Error: Can't resolve 'sass-loader'", make sure to install the package by opening your terminal in your project's root directory and running the command npm install --save-dev sass-loader sass webpack and restart your development server.

Open your terminal in your project's root directory (where your package.json file is located) and run the following commands:

shell
# ๐Ÿ‘‡๏ธ with NPM npm install --save-dev sass-loader sass webpack # ๐Ÿ‘‡๏ธ ONLY If you use TypeScript npm install --save-dev @types/sass-loader @types/sass @types/webpack # ---------------------------------------------- # ๐Ÿ‘‡๏ธ with YARN yarn add sass-loader sass webpack --dev # ๐Ÿ‘‡๏ธ ONLY If you use TypeScript yarn add @types/sass-loader @types/sass @types/webpack --dev

npm install sass loader

The command will add the sass-loader package to the dependencies of your project.

Make sure to restart your development server and your IDE if necessary. Your dev server won't pick up the changes until you stop it and re-run the npm start command.

The installed packages assume that you use Dart Sass.

Now you can import your scss file.

App.js
import "./style.scss";

The imported file may look something like this:

style.scss
$body-color: red; body { color: $body-color; }

And your Webpack config should look something as follows.

webpack.config.js
module.exports = { module: { rules: [ { test: /\.s[ac]ss$/i, use: [ // Creates `style` nodes from JS strings "style-loader", // Translates CSS into CommonJS "css-loader", // Compiles Sass to CSS "sass-loader", ], }, ], }, };

If you haven't installed the style-loader and css-loader packages, make sure to do so.

shell
# ๐Ÿ‘‡๏ธ with NPM npm install --save-dev style-loader css-loader # ---------------------------------------------- # ๐Ÿ‘‡๏ธ with YARN yarn add style-loader css-loader --dev

install style and css loaders

And restart your development server.

For custom config and options, refer to the npm page of the sass-loader package.

# Delete your node_modules and reinstall your dependencies

If the error is not resolved, try to delete your node_modules and package-lock.json (not package.json) files, re-run npm install and restart your IDE.

If you are on macOS or Linux, issue the following commands in bash or zsh.

shell
# for macOS and Linux rm -rf node_modules rm -f package-lock.json rm -f yarn.lock # ๐Ÿ‘‡๏ธ clean your npm cache npm cache clean --force # ๐Ÿ‘‡๏ธ install packages npm install

If you are on Windows, issue the following commands in CMD.

cmd
# for Windows rd /s /q "node_modules" del package-lock.json del -f yarn.lock # ๐Ÿ‘‡๏ธ clean your npm cache npm cache clean --force # ๐Ÿ‘‡๏ธ install packages npm install

Make sure to restart your IDE and dev server if the error persists. VS Code often glitches and a reboot solves things sometimes.

# Verify you have sass-loader installed

If you still get the error, open your package.json file and make sure it contains the sass-loader package in the devDependencies object.

package.json
{ // ... rest "devDependencies": { "sass-loader": "^12.6.0", "@types/sass-loader": "^8.0.3", "sass": "^1.49.11", "@types/sass": "^1.43.1", "webpack": "^5.71.0", "@types/webpack": "^5.28.0", "css-loader": "^6.7.1", "style-loader": "^3.3.1" } }

The sass-loader module should NOT be globally installed or be in your project's dependencies. It should be in the devDependencies object in your package.json file.

You can try to manually add the lines and re-run npm install.

shell
npm install

run npm install command

Or install the latest version of the packages:

shell
# ๐Ÿ‘‡๏ธ with NPM npm install --save-dev sass-loader@latest sass@latest webpack@latest npm install --save-dev style-loader@latest css-loader@latest # ๐Ÿ‘‡๏ธ ONLY If you use TypeScript npm install --save-dev @types/sass-loader@latest @types/sass@latest @types/webpack@latest # ---------------------------------------------- # ๐Ÿ‘‡๏ธ with YARN yarn add sass-loader@latest sass@latest webpack@latest --dev yarn add style-loader@latest css-loader@latest --dev # ๐Ÿ‘‡๏ธ ONLY If you use TypeScript yarn add @types/sass-loader@latest @types/sass@latest @types/webpack@latest --dev

install sass loader latest version

I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.

Copyright ยฉ 2024 Borislav Hadzhiev