【问题标题】:M1 Chip Node Sass conflictM1芯片节点Sass冲突
【发布时间】:2021-12-21 10:43:36
【问题描述】:

我正在为我的 Symfony 项目开发 iMac M1,正如我们许多人所遇到的那样,Node Sass 与 M1 芯片不兼容。

我收到此错误:

未捕获的错误:模块构建失败(来自 ./node_modules/mini-css-extract-plugin/dist/loader.js): ModuleError:模块错误(来自 ./node_modules/sass-loader/dist/cjs.js): 缺少绑定 /Users/clara/PhpstormProjects/tag/node_modules/node-sass/vendor/darwin-x64-93/binding.node Node Sass 找不到当前环境的绑定:OS X 64-bit with Node.js 16.x 找到以下环境的绑定:- OS X Unsupported architecture (arm64) with Node.js 16.x

我在互联网上搜索了很多,我看到了很多修复它的方法,但没有一个适合我......

这是我的 package.json:

{
    "devDependencies": {
        "@symfony/stimulus-bridge": "^2.0.0",
        "@symfony/webpack-encore": "^1.6.1",
        "core-js": "^3.0.0",
        "regenerator-runtime": "^0.13.2",
        "sass-loader": "^12.0.0",
        "stimulus": "^2.0.0",
        "webpack-notifier": "^1.6.0"
    },
    "license": "UNLICENSED",
    "private": true,
    "scripts": {
        "dev-server": "encore dev-server",
        "dev": "encore dev",
        "watch": "encore dev --watch",
        "build": "encore production --progress"
    },
    "dependencies": {
        "sass": "^1.43.4"
    }
}

我正在使用Node v16,并尝试了以下方法:

  • npm rebuild node-sass
  • 在 webpack.config.js 中添加选项:
.enableSassLoader(options => {
        options.implementation = require('sass');
    })
  • 删除node_modules目录并启动npm install
  • 在 devDependencies 中安装 sass:
npm uninstall -D node-sass
npm install -D sass
  • 按照 LibSass 的建议安装 sass 而不是 node-sass
  • 通过 Rosetta 运行它的目标拱门:
rm -rf node_modules
npm install --target_arch=x64

有人有其他想法吗?

【问题讨论】:

    标签: php sass apple-m1 node-sass


    【解决方案1】:

    节点版本为 V14.X 。试试这个方法。

    通过rosetta2打开终端,然后输入这个

    arch -x86_64 zsh
    

    如果不起作用,请尝试通过 nvm 将节点版本切换到 14.x

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-12
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 2022-12-25
      • 2021-12-24
      • 1970-01-01
      • 2021-11-02
      相关资源
      最近更新 更多