Node-sass is not recognized by command line

2020-06-03 01:40发布

问题:

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

回答1:

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



回答2:

npm commands check "node_package" folder and try to run things there. You can try

npx run scss 

to install scss and then run it, even if it is not installed before.



回答3:

The below solves the problem

yarn global add node-sass-chokidar


回答4:

node-sass v4.13+

  1. Install node-sass in your project locally
cd <root path of your project>
yarn add -D node-sass
// or
npm install -D node-sass
  1. Add a script to your package.json
"scripts" : {
...
  "compile:sass": "node-sass --recursive --watch <sass directory> --output <css directory>",
...
}
  1. Run the script from the command line
yarn compile:sass
// or
npm run compile:sass


回答5:

This is a simple problem don't worry too much. Just go to package.json file and add this code

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

and just save the file.

And run this command,

**npm run node-sass**

That's all