You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node v20.12.2安装node-sass 9.0.0时出现v8命名空间错误

问题描述

使用环境:

  • Node - v20.12.2
  • node-sass - 9.0.0
  • macOS

尝试安装最新版node-sass时出现如下错误:

../../nan/nan_callbacks.h:55:23: error: no member named 'AccessorSignature' in namespace 'v8'
typedef v8::Local<v8::AccessorSignature> Sig;
                  ~~~~^
1 error generated.
make: *** [Release/obj.target/binding/src/binding.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/chamara/Documents/hotel manager/hotel-manager/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:518:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:294:12)
gyp ERR! System Darwin 23.3.0
gyp ERR! command "/Users/chamara/.nvm/versions/node/v20.12.2/bin/node" "/Users/chamara/Documents/hotel manager/hotel-manager/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /Users/chamara/Documents/hotel manager/hotel-manager/node_modules/snappy
解决办法
  1. 替换为官方推荐的sass包
    node-sass已停止维护,官方建议用sass(即dart-sass)替代,完全兼容原有SCSS语法,且支持高版本Node:
  • 卸载node-sass:npm uninstall node-sass
  • 安装sass:npm install sass
  1. 降级Node版本(若坚持使用node-sass)
    node-sass 9.0.0与Node v20存在兼容性问题,可切换到Node v18.x(LTS版本):
  • 用nvm切换版本:nvm install 18.20.2 && nvm use 18.20.2
  • 删除原有依赖后重新安装:rm -rf node_modules package-lock.json && npm install
  1. 排查依赖链问题
    错误出在snappy包,可能是某个依赖引入了旧版nan库导致冲突,可执行npm ls nan查看依赖树,找到对应包升级或替换。

内容的提问来源于stack exchange,提问作者Muditha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 07:43:22