DCloud_HB_WDL
DCloud_HB_WDL
  • 发布:2019-01-11 12:21
  • 更新:2022-06-29 15:23
  • 阅读:24548

Windows: sass/scss插件安装问题的解决方案

分类:HBuilderX

如果您不会npm,最省事的解决办法:直接看本文第三节


sass、scss插件在windows下的国内环境,有时会因为连不上npm服务器导致下载失败。解决方案如下:

1. sass安装失败

有的小伙伴安装sass插件,提示如下;

不要着急,根据提示来。

解决方法1:

如果您本机安装了npm,那就执行此步骤。否则参考解决方法2。打开命令行,进入HBuilderX\plugins\compile-node-sass目录

npm install

如果还报错,查看报错日志,有可能是网络原因,也有可能是npm版本的问题。那就试试解决方法2

解决方法2:

在HBuilderX中,按下alt + C,打开终端,进入plugins\compile-node-sass目录,执行npm install

如果还安装不上,有可能是npm版本的问题, 使用HBuilderX 自带的npm试试。直接在compile-node-sass目录输入如下命令

 ..\npm\npm install

2. 安装sass插件后,报错,提示:编译scss文件提示:\node-sass-china\vendor\win32-x64-64\binding.node缺失

近来,有部分用户反馈sass/scss插件安装后,编译scss文件提示:\node-sass-china\vendor\win32-x64-64\binding.node缺失。

问题截图:

解决方法1:

打开命令行,进入HBuilderX\plugins\compile-node-sass目录,删除node_modules,执行npm install重新安装

注意: npm不要使用淘宝源,npm淘宝源,安装有问题。

> npm config set registry https://registry.npmjs.org  
> npm install

解决办法2:

  1. 在HBuilderX安装目录下,进入\plugins\compile-node-sass\node_modules\node-sass-china\vendor目录
  2. 手动创建目录
  3. 然后到github node-sass https://github.com/sass/node-sass/releases 手动下载相关版本binding.node
  4. 把下载的文件放到相关目录,然后重命名为:binding.node
  5. 重启hx

3. windows Sass安装终极解决方案:

如果上面的两个解决方案还不行,小编已经将本机安装好的sass插件,打包成压缩包了。下载解压即可。

见附件的zip压缩包: sass压缩包下载地址

将压缩包里的compile-node-sass目录解压到HBuilderX安装目录下的\plugins目录。比如C:\HBuilderX\plugins下。

4. 卸载sass失败

还有小伙伴反应,在插件安装中,卸载sass插件,提示卸载失败

那有可能是node被占用了,关闭HBuilderX,并关闭掉HBuilderX所有相关的进程,特别是node进程。然后重启HBuilderX再试

uni-app cli项目的sass/scss安装

cli项目的编译器是安装在项目下的,不是HBuilderX的插件。

所以cli项目安装scss等插件需要在项目下npm手动安装。这个插件npm安装时确实经常连不上,可能需要翻墙。如果实在搞不定,建议换为HBuilderX创建项目,或把cli项目的src拖入HBuilderX,使用HBuilderX的插件来编译。

3 关注 分享
DCloud_HB_WKP zaki 穷奇先生

要回复文章请先登录注册

小小菜76055421

小小菜76055421

回复 DCloud_HB_WDL :
v4.7.2版本的win32-x64-93\binding.node文件,在官方都找不到,但hx却提示缺少该版本的文件,怎么处理?
2022-06-29 15:23
serve

serve

回复 1***@qq.com :
请问你解决了嘛,我现在被折腾得头大
2021-11-10 21:13
1***@qq.com

1***@qq.com

回复 何以为歌 :
我的是用win32-ia32-57_binding.node改成win32-x64-64_binding.node就可以了,但是vue运行又报错 又要改回来才可以运行,怎么解决
2021-03-15 16:46
[已删除]

[已删除]

承接H5、小程序、APP等外包:
1. 经验丰富,做过多种类型项目,有案例可看;
2. 整个项目外包可以找我(小团队接单,面向客户、产品);
3. 只需要前端部分也可以找我(个人接单,面向服务端合作伙伴);
4. wechat(13070273424);
2021-01-10 17:51
DCloud_HB_WDL

DCloud_HB_WDL (作者)

回复 unicorn_up :
错误提示已经很明确了。卸载掉node-sass, 使用HBuilderX自带的npm安装node-sass库即可。
2021-01-08 19:14
unicorn_up

unicorn_up

用mac,出现了同样的问题,使用HbuilderX编译编辑器创建的项目时正常,但是用来编辑CLI 创建的项目时报错:
使用HBuilderX编译cli创建的项目时,报错:
18:23:23.334 正在编译中...
18:23:24.798 Browserslist: caniuse-lite is outdated. Please run:
18:23:24.806 npx browserslist@latest --update-db
18:23:26.032 发现 uni-app cli 新版本 2.0.0-30420201231001. 请执行 npm update 升级
18:23:44.339 Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):
18:23:44.339 ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
18:23:44.364 Error: Missing binding /Users/123/Desktop/UNI2/aaa/node_modules/node-sass/vendor/darwin-x64-57/binding.node
18:23:44.364 Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 8.x
18:23:44.370 Found bindings for the following environments:
18:23:44.375 - OS X 64-bit with Node.js 14.x
18:23:44.395 This usually happens because your environment has changed since running `npm install`.
18:23:44.396 Run `npm rebuild node-sass` to download the binding for your current environment.
18:23:44.401 at module.exports (/Users/123/Desktop/UNI2/aaa/node_modules/node-sass/lib/binding.js:15:13)
18:23:44.402 at Object.<anonymous> (/Users/123/Desktop/UNI2/aaa/node_modules/node-sass/lib/index.js:14:35)

之前的老版本HbuilderX没有这种问题。
2021-01-08 18:47
1***@qq.com

1***@qq.com

我也出现了类似问题,在启动的时候就跑去调用系统的node下的node-sass,而不是hbuilderx下的plugins\compile-node-sass\node_modules\node-sass-china,我也有试过上面说的各种方法。但是都没有解决问题

正在编译中...
11:19:30.960 INFO Starting development server...
11:19:46.105 Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
11:19:46.105 Error: \\?\C:\Users\Lenovo\AppData\Roaming\npm-cache\node-sass\4.9.3\win32-x64-57_binding.node is not a valid Win32 application.
11:19:46.110 \\?\C:\Users\Lenovo\AppData\Roaming\npm-cache\node-sass\4.9.3\win32-x64-57_binding.node
11:19:46.111 at Object.Module._extensions..node (module.js:681:18)
11:19:46.114 at Module.load (module.js:565:32)
11:19:46.116 at tryModuleLoad (module.js:505:12)
11:19:46.121 at Function.Module._load (module.js:497:3)
11:19:46.121 at Module.require (module.js:596:17)
11:19:46.125 at require (internal/module.js:11:18)
11:19:46.125 at module.exports (E:\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\lib\binding.js:19:10)
11:19:46.129 at Object.<anonymous> (E:\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\lib\index.js:14:35)
11:19:46.131 at Module._compile (module.js:652:30)
11:19:46.134 at Object.Module._extensions..js (module.js:663:10)
11:19:46.134 at Module.load (module.js:565:32)
11:19:46.138 at tryModuleLoad (module.js:505:12)
11:19:46.138 at Function.Module._load (module.js:497:3)
11:19:46.142 at Module.require (module.js:596:17)
11:19:46.142 at require (internal/module.js:11:18)
11:19:46.148 at Object.<anonymous> (E:\HBuilderX\plugins\compile-node-sass\node_modules\node-sass-china\index.js:8:22)
2020-11-24 11:31
1***@qq.com

1***@qq.com

倒腾了一下,解决问题了。
步骤1:打开命令行,进入HBuilderX\plugins\compile-node-sass目录,删除node_modules
步骤2:打开命令行,进入HBuilderX\plugins\compile-node-sass目录,删除 package-lock.json(我要删除这个才可以npm install 这样才成功)
步骤3:打开命令行,进入HBuilderX\plugins\compile-node-sass目录,执行 npm install 即可

最终,可以编译了

发现:如果没用删除 package-lock.json 文件,npm install 后,node_modules 目录中就一个.bin文件,没有其他依赖包
2020-10-19 11:18
1***@qq.com

1***@qq.com

是我打开方式不对么,报错叶
错误提示:
curl : NoSuchKey The specified key does not exist. 5F8CFE096D3A65353370D0A2 cdn.npm.taobao.org dist/node-sass/v4.7.2/wi
n32-x64-79_binding.node
2020-10-19 10:53
2***@qq.com

2***@qq.com

回复 g***@163.com :
请问你解决了吗
我也出现这个问题了
2020-08-29 12:32