如何通过npm和nvm安装node-sass?Mac High Sierra安装故障求助
使用NVM和NPM安装Node-Sass的完整指南(含Mac High Sierra错误修复)
我来帮你一步步搞定这个问题!先从基础的安装流程讲起,再针对性解决你遇到的绑定缺失错误。
一、通过NVM+NPM正确安装Node-Sass
Node-sass和Node.js版本绑定得特别死,用NVM管理Node版本能从根源避免版本不兼容问题,步骤很简单:
- 你已经装了NVM,直接选一个和node-sass兼容的Node版本就行。比如想装Node 14.x(适配范围比较广),执行:
nvm install 14 nvm use 14 # 可选:设为默认版本,下次开终端自动用这个版本 nvm alias default 14 - 安装node-sass:
- 全局安装(方便命令行直接调用):
npm install -g node-sass - 项目本地安装(用于项目构建):
npm install node-sass --save-dev
- 全局安装(方便命令行直接调用):
- 划重点:一定要匹配版本!比如Node 6.x对应node-sass 4.5.x~4.9.x,Node 9.x对应4.10.x~4.12.x。如果不确定,直接指定版本安装,比如给Node 6装适配版:
npm install node-sass@4.9.0 --save-dev
二、解决你遇到的「Binding缺失」错误
你碰到的错误提示是当前Node 6.x找不到对应绑定,但有Node 9.x的绑定,而且npm rebuild没用——问题大概率是全局node-sass装在了系统默认的Node路径里,和NVM管理的Node版本不匹配,或者残留了旧文件,按下面的步骤来:
先确认当前用的是NVM的Node版本
执行这几个命令看看:node -v which node which npm如果
which node返回的不是~/.nvm/versions/node/xxx/bin/node,而是/usr/local/bin/node,说明你现在用的是系统全局Node,不是NVM的。赶紧切换到你想用的版本,比如之前用的是9.x就执行:nvm use 9彻底清理旧安装文件和缓存
- 先卸载全局的node-sass:
npm uninstall -g node-sass - 清掉npm缓存,避免残留旧数据:
npm cache clean --force - 如果是项目里的问题,进项目目录删掉
node_modules和package-lock.json:rm -rf node_modules package-lock.json
- 先卸载全局的node-sass:
重新安装适配版本的node-sass
- 想继续用Node 6.x?直接装适配的版本:
npm install -g node-sass@4.9.0 # 项目内的话就跑:npm install node-sass@4.9.0 --save-dev - 想切换到Node 9.x(已经有对应的绑定文件)?先切版本再安装:
nvm use 9 npm install -g node-sass
- 想继续用Node 6.x?直接装适配的版本:
验证安装成功
执行node-sass -v,如果能正常输出版本号,就搞定啦!
内容的提问来源于stack exchange,提问作者runners3431
相关产品推荐
相关产品推荐

