Node Sass 与苹果 m1、Big Sur 和 arm64

use*_*597 2 npm gulp-sass apple-m1

 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/hhag/Desktop/test_gulp/node_modules/node-sass/lib/binding.js:13:13)
at Object.<anonymous> (/Users/hhag/Desktop/test_gulp/node_modules/node-sass/lib/index.js:14:35)
at Module._compile (node:internal/modules/cjs/loader:1109:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10)
at Module.load (node:internal/modules/cjs/loader:989:32)
at Function.Module._load (node:internal/modules/cjs/loader:829:14)
at Module.require (node:internal/modules/cjs/loader:1013:19)
at require (node:internal/modules/cjs/helpers:93:18)
at Object.<anonymous> (/Users/hhag/Desktop/test_gulp/node_modules/gulp-sass/index.js:166:21)
at Module._compile (node:internal/modules/cjs/loader:1109:14)
Run Code Online (Sandbox Code Playgroud)

当我开始使用 gulp 时会发生此错误。是否有将 gulp-sass 与 apple m1 一起使用的解决方案?谢谢

m_k*_*kos 92

对于 npm > 6.9,您只需一行即可将依赖项切换到 dart-sass/sass,然后像以前一样使用 sass。

npm install node-sass@npm:sass

  • 我相信这是正确的答案,上面的其他答案都没有帮助 (6认同)
  • “yarn add sass”对我有用。 (2认同)

Mur*_*rlu 36

我认为您使用的是 M1 Mac。并且node-sass目前本身并不支持它。请参阅: https: //github.com/sass/node-sass/issues/3033

现在,您可以设置目标拱门以通过 Rosetta 运行它:

rm -rf node_modules
npm install --target_arch=x64
Run Code Online (Sandbox Code Playgroud)


Seb*_*ens 19

我在使用 node-sass 开发 Vue.js 项目时遇到了同样的错误。\n我通过降级到 Node 版本 14 解决了这个问题。

\n

我使用 Node\xe2\x80\x99s 版本管理器应用程序 n 完成了此操作。请参阅此答案: https: //stackoverflow.com/a/50287454

\n

检查您\xe2\x80\x99正在使用哪个节点版本

\n
$ node -v \nv16.3.0\n
Run Code Online (Sandbox Code Playgroud)\n

安装n

\n

$ npm install -g n

\n

获取您可以安装的可用节点版本列表

\n
$ n ls-remote --all\n16.3.0\n16.2.0\n..\n15.14.0\n15.13.0\n..\n14.17.0\n14.16.1\n..\n
Run Code Online (Sandbox Code Playgroud)\n

安装节点版本 14

\n

$ sudo n install 14

\n

  • +1,请记住,如果以前使用brew安装了节点,则必须使用“brew uninstall node”卸载brew的节点,以便“n”节点版本生效 (2认同)

And*_*cio 6

只是为了答案的完整性而添加,我在使用无服务器框架(https://www.serverless.com/)时遇到了这个问题。

我使用 Node 16 和 17 收到一个 Node gyp 构建错误。

使用 nvm 我安装了节点版本 14,这解决了我的问题。

修复步骤是:

  1. nvm安装v14
  2. nvm使用14

然后我能够执行正确安装和构建的纱线命令。

  • 从节点 17 降级到节点 14 后解决了我的问题。 (2认同)

Dan*_*ret 5

node-sass在 M1 上安装时也遇到了问题,并最终利用sassLibSass 弃用通知中的建议将其替换为 。

https://sass-lang.com/blog/libsass-is-deprecated

替换完全顺利,它在 M1 上工作,我在本地或 CI 上没有注意到任何性能影响。

  • 谢谢,这有效。我做了“npm uninstall node-sass”、“npm install --save-dev sass”。 (18认同)

Nik*_*kov 5

  1. 从此处下载 https://nodejs.org/dist/v14.0.0/将节点重新安装到版本 14
  2. 在你的项目文件夹中运行npm rebuild node-sass


Vla*_*nin 5

  1. yarn add sass或者npm install sass
  2. 替换 "node-sass": "sass": package.json 中的
  3. rm -rf node_modules && npm install

在我的 M1 MBP 上为我工作。