编译时出现 node-sass 命令未找到的错误

14

我在 Mac(OS X El Capitan)上使用 Node.js 的 SASS 遇到了问题。

当我尝试使用命令“node-sass -o css sass/style.scss”将 scss 文件编译为 css 时,出现以下错误:

node-sass: command not found

发生了什么问题?我该如何解决?


7
你是在全局安装了这个包 (npm install -g node-sass) 还是本地安装的?如果是本地安装,那么可以使用 ./node_modules/.bin/node-sass 命令来调用 CLI 工具。 - robertklep
奇怪,但它没有工作。也许我做错了什么。在Windows上它运行良好。 - Jameson
这个命令 ls -al /usr/local/bin/node-sass 返回的是什么?在我的 Mac 上它运行得很好,所以不是与操作系统相关的问题。你是否使用了 nvm 或其他 Node 版本管理器? - robertklep
/usr/local/bin/node-sass:没有这个文件或目录 - 我得到了这个错误。 - Jameson
这意味着它没有全局安装。你是否使用像 nvm 这样的 Node 版本管理器? - robertklep
显示剩余2条评论
9个回答

15

这意味着您的系统中缺少 node-sass 命令。

node-sass 是一个可以通过 node.js 安装的命令。

npm install -g node-sass

-g开关表示正在安装可以全局运行的node.js命令。没有-g则表示正在将一个node.js库安装到当前目录。


12

试一下这个命令:

npx node-sass -o css sass/style.scss

npx 会检查 <command> 是否存在于 $PATH 或本地项目的可执行文件中,并执行它。更详细的解释在这里


2
你能否添加一段描述,说明这条语句是做什么用的? - Akber Iqbal

5
这对我很有帮助:
sudo npm install --unsafe-perm -g node-sass

成功了!我错过了 --unsafe-perm,导致在 Linux 上出现了 node-sass 模块的问题。 - Vikram Rao

3
在我的情况下,出现了这样的错误是因为 npm install 没有正确运行。删除我的 node_modules 文件夹并重新运行该命令后,我解决了构建错误。

0

要使用Sass,您必须安装Node,然后使用以下命令

sudo npm install -g node-sass

这仅适用于Linux用户,如果您没有使用“sudo”,则会收到以下错误信息

node-sass not found

0

在存放 package.json 文件的同一文件夹中,打开终端并输入以下命令:

npm install node-sass

如果安装依赖后仍然失败,请删除node_modules并输入:
npm install

npm install 会重新构建您的 node_modules 文件夹,并更新 package.json 中的依赖项(以前,您可以通过 'npm install node-sass' 命令在 package.json 中安装 node-sass)。


0

我尝试了npm安装,但是它没有安装node-sass二进制文件。最终我不得不运行

yarn --cwd assets


0

前往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

0
你可以尝试这个:
pwd

切换到您的项目目录,例如:desktop

ls -la

然后查看您的项目名称及其位置。它是否在根目录中。 如果它在根目录中,

sudo chown -R <change to your position from root><projectname>/
cd <projectname>
cd ../
rm -rf node_modules/
ls
npm i

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接