is it possible to make sass-loader use less and do not use node sass

Viewed 133

the node sass has a compatible problem with the Apple M1, this is the error when I build the project in M1:

[./node_modules/css-loader/dist/cjs.js?!./node_modules/postcss-loader/src/index.js?!./node_modules/sass-loader/dist/cjs.js!./src/css/options.scss] ./node_modules/css-loader/dist/cjs.js??ref--4-2!./node_modules/postcss-loader/src??ref--4-3!./node_modules/sass-loader/dist/cjs.js!./src/css/options.scss 1.54 KiB {mini-css-extract-plugin} [built] [failed] [1 error]

    ERROR in ./src/css/options.scss (./node_modules/css-loader/dist/cjs.js??ref--4-2!./node_modules/postcss-loader/src??ref--4-3!./node_modules/sass-loader/dist/cjs.js!./src/css/options.scss)
    Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
    Error: Node Sass does not yet support your current environment: OS X Unsupported architecture (arm64) with Unsupported runtime (93)
    For more information on which environments are supported please see:
    https://github.com/sass/node-sass/releases/tag/v4.14.1
        at module.exports (/Users/xiaoqiangjiang/source/reddwarf/frontend/Cruise-Radar/node_modules/node-sass/lib/binding.js:13:13)
        at Object.<anonymous> (/Users/xiaoqiangjiang/source/reddwarf/frontend/Cruise-Radar/node_modules/node-sass/lib/index.js:14:35)
        at Module._compile (/Users/xiaoqiangjiang/source/reddwarf/frontend/Cruise-Radar/node_modules/v8-compile-cache/v8-compile-cache.js:194:30)
        at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
        at Module.load (node:internal/modules/cjs/loader:981:32)
        at Function.Module._load (node:internal/modules/cjs/loader:822:12)
        at Module.require (node:internal/modules/cjs/loader:1005:19)
        at require (/Users/xiaoqiangjiang/source/reddwarf/frontend/Cruise-Radar/node_modules/v8-compile-cache/v8-compile-cache.js:161:20)
        at getDefaultSassImplementation (/Users/xiaoqiangjiang/source/reddwarf/frontend/Cruise-Radar/node_modules/sass-loader/dist/utils.js:43:10)
        at getSassImplementation (/Users/xiaoqiangjiang/source/reddwarf/frontend/Cruise-Radar/node_modules/sass-loader/dist/utils.js:57:30)
        at Object.loader (/Users/xiaoqiangjiang/source/reddwarf/frontend/Cruise-Radar/node_modules/sass-loader/dist/index.js:34:59)
error Command failed with exit code 2.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

I have check my package.json and found I did not use node sass, just use less, this is the less version:

 "less": "3.12.2",

what should I do to fix this problem? I have downgrade from node 17 to 16. BTW, this is the package.json:

{
  "name": "cruise-radar",
  "version": "0.0.1",
  "description": "Browser extension to detect available RSS and RSSHub for current page",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack -w --mode=development --progress --display-error-details --colors",
    "build": "webpack --mode=development --progress --display-error-details --colors",
    "release": "npm run build && zip -r release/radar.zip dist",
    "format": "eslint \"**/*.js\" --fix && prettier \"**/*.{js,scss,less}\" --write",
    "format:staged": "eslint \"**/*.js\" --fix && pretty-quick --staged --verbose --pattern \"**/*.{js,scss,less}\"",
    "format:check": "eslint \"**/*.js\" && prettier-check \"**/*.{js,scss,less}\""
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/jiangxiaoqiang/Cruise-Radar.git"
  },
  "keywords": [
    "rsshub",
    "rss"
  ],
  "gitHooks": {
    "pre-commit": "npm run format:staged"
  },
  "author": "DIYgod",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/DIYgod/RSSHub-Radar/issues"
  },
  "homepage": "https://github.com/DIYgod/RSSHub-Radar#readme",
  "devDependencies": {
    "@babel/core": "7.12.3",
    "@babel/preset-env": "7.12.1",
    "@fingerprintjs/fingerprintjs": "3.1.2",
    "autoprefixer": "9.8.6",
    "babel-loader": "8.1.0",
    "babel-plugin-component": "1.1.1",
    "copy-webpack-plugin": "6.3.0",
    "css-loader": "5.0.1",
    "cssnano": "4.1.10",
    "eslint": "7.13.0",
    "eslint-config-prettier": "6.15.0",
    "eslint-loader": "4.0.2",
    "eslint-plugin-prettier": "3.1.4",
    "file-loader": "6.2.0",
    "less": "3.12.2",
    "less-loader": "7.0.2",
    "mini-css-extract-plugin": "1.3.0",
    "postcss-loader": "3.0.0",
    "prettier": "2.1.2",
    "prettier-check": "2.0.0",
    "pretty-quick": "3.1.0",
    "sass-loader": "^10",
    "svg-inline-loader": "0.8.2",
    "template-string-optimize-loader": "3.0.0",
    "url-loader": "4.1.1",
    "vue": "2.6.12",
    "vue-loader": "15.9.5",
    "vue-template-compiler": "2.6.12",
    "webpack": "4.44.2",
    "webpack-cli": "3.3.12",
    "yorkie": "2.0.0"
  },
  "dependencies": {
    "clipboard": "2.0.6",
    "element-ui": "2.14.0",
    "md5.js": "^1.3.5",
    "psl": "1.8.0",
    "route-recognizer": "0.3.4",
    "rss-parser": "3.9.0",
    "vue-router": "3.4.9",
    "yarn": "^1.22.17"
  }
}
0 Answers
Related