Search code examples
node.jsnpmcommand-line-toolnode-sass

Node-sass is not recognized by command line


I'm trying to set up node-sass, following the instructions on CSS-Tricks. Node and npm are installed correctly, and the node-sass installation worked too. When I go to run node-sass --output-style compressed -o dist/css src/scss, though, I get an error message stating

'node-sass' is not recognized as an internal or external command, operable program or batch file.

I've done a fair bit of Googling and searched Stack Overflow directly. My question isn't about "node" not being recognised as a command. I know node is working as I can run node -v and npm -v, and node-sass was successfully installed after running npm install --save-dev node-sass (there's a folder in node_modules) and no errors appeared in the command line.

Other information: I am running Windows 10 and just did a clean install of node and npm before trying to use node-sass.

EDIT: I uninstalled and reinstalled with -g thanks to @Bhavik's suggestion, and it's now working


Solution

  • You need to install it globally

    npm install -g node-sass
    

    Or add it in package.json

    "devDependencies": {
        "node-sass": "4.5.0"
    },
    "scripts" : {
        "node-sass": "node-sass --output-style compressed -o dist/css src/scss"
    }
    

    And then do
    1. npm i, which in this case would be similar to npm install --save-dev node-sass
    2. npm run node-sass

    Reference: npm scripts, npm-run-scripts