【问题标题】:node-sass command not found when compiling编译时找不到 node-sass 命令
【发布时间】:2017-01-12 19:58:36
【问题描述】:

我在 Mac (OS X El Capitan) 上遇到 SASS for node.js 的问题

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

node-sass:找不到命令

有什么问题,我该如何解决?

【问题讨论】:

  • 你是全局安装包(npm install -g node-sass)还是本地安装?如果在本地,可以将 CLI 工具调用为./node_modules/.bin/node-sass
  • 我尝试了两种方式。没有任何效果...
  • 全局安装时,您的$PATH 环境变量中需要有/usr/local/bin。或者使用完整路径调用它:/usr/local/bin/node-sass -o ...
  • 奇怪,但它不起作用。也许我做错了什么。在 Windows 上运行良好
  • 这会返回什么:ls -al /usr/local/bin/node-sass?它在我的 Mac 上运行良好,因此与操作系统无关。您使用的是nvm 还是其他 Node 版本管理器?

标签: node.js macos sass


【解决方案1】:

这意味着您的系统中缺少命令node-sassnode-sass 是一个 node.js 命令,可以安装

npm install -g node-sass

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

【讨论】:

    【解决方案2】:

    试试这个: npx node-sass -o css sass/style.scss

    npx 将检查<command> 是否存在于$PATH 或本地项目二进制文件中,并执行它。更详细的解释是here

    【讨论】:

    • 您能否添加关于此语句的作用的说明?
    【解决方案3】:

    这对我有帮助:

    sudo npm install --unsafe-perm -g node-sass
    

    【讨论】:

    • 成功了!我错过了--unsafe-perm,它导致node-sass 模块在linux 中出现问题
    【解决方案4】:

    在我的例子中,我遇到了这样的错误,因为npm install 没有正确运行。删除我的 node_modules 然后重新运行该命令删除了我的构建错误。

    【讨论】:

      【解决方案5】:

      转到https://github.com/sass/node-sass 下载 .zip 或克隆 repo 在 node-modules 中添加 el 文件夹 node-sass 和 en 文件 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
      

      【讨论】:

        【解决方案6】:

        你可以试试这个:

        pwd
        

        签出到你的项目目录,eg:desktop

        ls -la
        

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

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

        【讨论】:

          【解决方案7】:

          要使用 sass,您必须安装节点,然后使用以下命令

          sudo npm install -g node-sass
          

          这仅适用于linux用户,如果您没有使用“sudo”,您将收到以下错误

          node-sass not found
          

          【讨论】:

            【解决方案8】:

            在您拥有 package.json 文件的同一文件夹中,打开终端并输入以下内容:

            npm install node-sass
            

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

            npm install
            

            npm install 将重建您的 node_modules 文件夹并更新 package.json 依赖项(之前,您使用 'npm install node-sass' 命令在 package.json 中安装 node-sass)。

            【讨论】:

              猜你喜欢
              • 2019-12-12
              • 2016-05-11
              • 1970-01-01
              • 2016-07-09
              • 2012-06-28
              • 2018-07-17
              • 2013-03-18
              • 1970-01-01
              • 2021-11-08
              相关资源
              最近更新 更多