我在 Mac(OS X El Capitan)上使用 Node.js 的 SASS 遇到了问题。
当我尝试使用命令“node-sass -o css sass/style.scss”将 scss 文件编译为 css 时,出现以下错误:
node-sass: command not found
发生了什么问题?我该如何解决?
这意味着您的系统中缺少 node-sass
命令。
node-sass
是一个可以通过 node.js 安装的命令。
npm install -g node-sass
-g
开关表示正在安装可以全局运行的node.js命令。没有-g
则表示正在将一个node.js库安装到当前目录。
试一下这个命令:
npx node-sass -o css sass/style.scss
npx
会检查 <command>
是否存在于 $PATH
或本地项目的可执行文件中,并执行它。更详细的解释在这里。
sudo npm install --unsafe-perm -g node-sass
--unsafe-perm
,导致在 Linux 上出现了 node-sass
模块的问题。 - Vikram Raonpm install
没有正确运行。删除我的 node_modules 文件夹并重新运行该命令后,我解决了构建错误。要使用Sass,您必须安装Node,然后使用以下命令
sudo npm install -g node-sass
这仅适用于Linux用户,如果您没有使用“sudo”,则会收到以下错误信息
node-sass not found
在存放 package.json 文件的同一文件夹中,打开终端并输入以下命令:
npm install node-sass
npm install
npm install 会重新构建您的 node_modules 文件夹,并更新 package.json 中的依赖项(以前,您可以通过 'npm install node-sass' 命令在 package.json 中安装 node-sass)。
我尝试了npm安装,但是它没有安装node-sass二进制文件。最终我不得不运行
yarn --cwd assets
前往https://github.com/sass/node-sass,下载.zip文件或克隆存储库,在node-modules文件夹中添加el文件夹的node-sass,并在package-lock.json文件中添加此内容。
"node-sass": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz",
"integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==",
"dev": true,
"requires": {
"async-foreach": "0.1.3",
"chalk": "1.1.3",
"cross-spawn": "3.0.1",
"gaze": "1.1.2",
"get-stdin": "4.0.1",
"glob": "7.1.2",
"in-publish": "2.0.0",
"lodash.assign": "4.2.0",
"lodash.clonedeep": "4.5.0",
"lodash.mergewith": "4.6.1",
"meow": "3.7.0",
"mkdirp": "0.5.1",
"nan": "2.8.0",
"node-gyp": "3.6.2",
"npmlog": "4.1.2",
"request": "2.79.0",
"sass-graph": "2.2.4",
"stdout-stream": "1.4.0",
"true-case-path": "1.0.2"
},
好的,现在
~$ npm install
pwd
切换到您的项目目录,例如:desktop
ls -la
然后查看您的项目名称及其位置。它是否在根目录中。 如果它在根目录中,
sudo chown -R <change to your position from root><projectname>/
cd <projectname>
cd ../
rm -rf node_modules/
ls
npm i
npm install -g node-sass
) 还是本地安装的?如果是本地安装,那么可以使用./node_modules/.bin/node-sass
命令来调用 CLI 工具。 - robertklepls -al /usr/local/bin/node-sass
返回的是什么?在我的 Mac 上它运行得很好,所以不是与操作系统相关的问题。你是否使用了nvm
或其他 Node 版本管理器? - robertklepnvm
这样的 Node 版本管理器? - robertklep