社交软件联盟
社交软件联盟
  • 发布:2019-11-01 02:08
  • 更新:2022-02-28 17:21
  • 阅读:7016

【报Bug】mac hbuilderx 运行到微信小程序node-sass异常

分类:HBuilderX

详细问题描述

Module build failed (from ./node_modules/mini-css-extract-plugin/dist/loader.js):  
02:01:43.383 ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):  
02:01:43.390 Error: Missing binding /Users/qinky/WebstormProjects/qingchi_uni/node_modules/node-sass/vendor/darwin-x64-57/binding.node  
02:01:43.390 Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 8.x  
02:01:43.395 Found bindings for the following environments:  
02:01:43.396   - OS X 64-bit with Node.js 10.x  
02:01:43.401 This usually happens because your environment has changed since running `npm install`.  
02:01:43.401 Run `npm rebuild node-sass` to download the binding for your current environment.  
02:01:43.408     at module.exports (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/node-sass/lib/binding.js:15:13)  
02:01:43.409     at Object.<anonymous> (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/node-sass/lib/index.js:14:35)  
02:01:43.416     at Module._compile (module.js:652:30)  
02:01:43.423     at Object.Module._extensions..js (module.js:663:10)  
02:01:43.429     at Module.load (module.js:565:32)  
02:01:43.429     at tryModuleLoad (module.js:505:12)  
02:01:43.435     at Function.Module._load (module.js:497:3)  
02:01:43.435     at Module.require (module.js:596:17)  
02:01:43.460     at require (internal/module.js:11:18)  
02:01:43.461     at getDefaultSassImplementation (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/sass-loader/dist/getDefaultSassImplementation.js:24:10)  
02:01:43.468     at getSassImplementation (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/sass-loader/dist/getSassImplementation.js:19:72)  
02:01:43.476     at Object.loader (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/sass-loader/dist/index.js:40:61)  
02:01:43.482     at runLoaders (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/webpack/lib/NormalModule.js:301:20)  
02:01:43.482     at /Users/qinky/WebstormProjects/qingchi_uni/node_modules/loader-runner/lib/LoaderRunner.js:367:11  
02:01:43.509     at /Users/qinky/WebstormProjects/qingchi_uni/node_modules/loader-runner/lib/LoaderRunner.js:233:18  
02:01:43.510     at runSyncOrAsync (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/loader-runner/lib/LoaderRunner.js:143:3)  
02:01:43.519     at iterateNormalLoaders (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/loader-runner/lib/LoaderRunner.js:232:2)  
02:01:43.521     at iterateNormalLoaders (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/loader-runner/lib/LoaderRunner.js:221:10)  
02:01:43.528     at /Users/qinky/WebstormProjects/qingchi_uni/node_modules/loader-runner/lib/LoaderRunner.js:236:3  
02:01:43.529     at Object.context.callback (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/loader-runner/lib/LoaderRunner.js:111:13)  
02:01:43.560     at Object.module.exports (/Users/qinky/WebstormProjects/qingchi_uni/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js:60:10)  
02:01:43.560  ERROR  Build failed with errors.  

[内容]

重现步骤

mac 下载最新hbuilderx 使用vue-cli创建项目,添加uni-ui,使用,运行到微信小程序,报错

同一套代码,mac下 webstorm 运行 npm run dev:mp-weixin 正常
在win10的 hbuilderx中运行正常

联系方式 wx: qky19941212

2019-11-01 02:08 负责人:无 分享
已邀请:
[已删除]

[已删除]

mac下的解决方法:

cd /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node  

mv node node-v8  

ln -s /usr/local/bin/node /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node/node
  • 小小时候肉多着

    完美!

    2020-06-10 10:31

  • lisy

    补充一下 我使用的是nvm,使用的方法是


    ln -s /Users/admin/.nvm/versions/node/v10.15.0/bin/node /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node/node

    2020-08-25 10:53

  • 6***@qq.com

    折腾一下午,终于解决,谢谢~

    2020-10-12 02:30

  • s***@foxmail.com

    完美,非常感谢,终于解决了

    2020-11-12 19:39

  • 1***@qq.com

    亲测可以,太感谢了 !!!!!!

    2021-01-26 21:23

  • s***@flashingtime.cn

    完美 确实是这个问题,折腾一天

    2021-02-09 14:07

  • 4***@qq.com

    完美,确实,看来大家都是这个问题折腾了不少时间~

    2021-02-24 11:31

  • 1***@qq.com

    我也遇到了这个问题,如果使用 nvm 管理 node,mac下解决办法如下:


    cd /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node

    mv node node-v8 # 把 node 执行文件改名为 node-v8

    执行 nvm which current 拿到当前环境下node路径


    类似 /Users/admin/.nvm/versions/node/v14.15.1/bin/node


    然后复制该路径并在 finder 下 cmd+shifit+g 跳转到该路径

    接着 ctrl + v 复制该 node 执行文件到 /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node/ 文件夹下就好了

    2021-04-21 15:16

  • c***@163.com

    回复 1***@qq.com: 我试了所有的方法,就你的行得通,太感谢了!!!

    2022-03-13 23:35

  • 5***@qq.com

    可以用,谢谢啊 太感谢了 解决了好几天了 还以为是版本问题呢 一直换也不行

    2022-06-18 12:03

DCloud_HB_WDL

DCloud_HB_WDL

解决方法1:

  1. 删除项目下的node-sass库
  2. 在命令行进入此项目,执行/Applications/HBuilderX.app/Contents/HBuilderX/plugins/npm/npm i --save node-sass

解决办法2:

打开命令行,关闭HBuilderX, 依次执行如下命令

$ cd /Applications/HBuilderX.app/Contents/HBuilderX/plugins/compile-node-sass  
$ rm -rf node_modules package-lock.json  
$ npm i 
  • j***@163.com

    我也遇到了同样的问题,第一种方法没有效果,第二种方法 npm i 后报错。请问还有其他办法吗

    2019-11-14 22:32

  • DarkerFans

    回复 j***@163.com:你解决了吗?同样入坑

    2019-11-26 16:23

  • j***@163.com

    回复 DarkerFans: 删除项目里的node_modules,使用nvm 切换node8.*,然后npm install ,完美解决问题

    2019-11-27 13:28

a***@gmail.com

a***@gmail.com - 马猴烧大酒

同报此bug。
两个解决方法都不行

  • DCloud_HB_WDL

    产生问题的根源是不同nodejs的版本造成的。HBuilderX自带的nodejs版本是v8.10.0 你项目下的node-sass库,是使用你本地的nodejs v10.x版本安装的

    2019-11-05 18:27

  • a***@gmail.com

    回复 DCloud_HB_WDL: 发现了,正想给你回复。那么问题来了,能不能不使用咱们HBuilderX自带的node.js。(在偏好设置里的运行配置里,更改本地node环境无效)

    2019-11-05 18:59

  • a***@gmail.com

    回复 a***@gmail.com: node运行配置的路径“/usr/local/bin/node”,跟webstorm里的配置路径一样

    2019-11-05 19:11

  • z***@foxmail.com

    回复 a***@gmail.com: 在哪里配置??

    2019-12-28 23:55

a***@gmail.com

a***@gmail.com - 马猴烧大酒

心力交瘁。。。不知道还有多少的坑要爬

j***@163.com

j***@163.com

你好,楼主,问题解决了吗?我也遇到相同的问题了,求教

s***@qq.com

s***@qq.com

也是痛苦的不行,最后删除重装hbuildx就好了,看到的朋友也可以试试

6***@qq.com

6***@qq.com - 傻小子QZ

cli创建的项目导入 mac版本hbuilderx 2.6.11(v3)下运行运行 报错 TypeError: Invalid attempt to destructure non-iterable instance 组件无法正常使用 请问怎么解决

5***@qq.com

5***@qq.com - 孙梦开发

感谢大佬,成功解决。
用nvm把node切换到v8.10.0,hbuilderx使用的版本。然后删除node-modules。重新npm install 。完美解决。困惑了我一天了。

囧粉

囧粉

如果其他包依赖高版本的node,那就尴尬了,比如prettier

  • 囧粉

    用 cli 创建的项目就专注小程序开发好了,用 hbuilderx 跑坑太多了

    2020-05-21 10:12

  • 囧粉

    搞定了,在IDE里指定系统环境的Node和Npm

    2020-05-22 16:39

  • 小小时候肉多着

    回复 囧粉: 心塞。。折腾了快一天,还是没折腾好

    2020-06-10 09:39

a***@foxmail.com

a***@foxmail.com

1.删除项目node_modules
2.nvm切换到8.10.0
3.yarn或者npm install
4.打开HbuilderX运行

我的cli项目会在package.json里加上node-sass依赖。
和官方说的/Applications/HBuilderX.app/Contents/HBuilderX/plugins/compile-node-sass 完全没关系,所以只要管理好项目的node_modules就可以了

6***@qq.com

6***@qq.com - 前端小学徒

这就是个bug,折腾我半天~

a***@qq.com

a***@qq.com

想喷,一个开发的不用命令行,用IED?折腾了好多天 之前直接用命令没有任何问题。

  • a***@qq.com

    我把"node-sass": "4.14.1",然后npm install 因为我在C:\Users\afeng\AppData\Roaming\npm-cache\node-sass这个路径下发现有win32-x64-72_binding.node的缓存文件,然后就可以运行起来了,不要用 5.0.0版本的。太恶心了,恶心了我两天,

    2021-01-16 20:55

4***@qq.com

4***@qq.com

完美,折腾了一上午!

吉吉壹次心

吉吉壹次心

看了下目录结构下 /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node

版本是12
那么nvm切换到 node 12版本 执行
npm rebuild node-sass
即可

cocos

cocos

楼上正解!保证系统的node版本和hbuilderx的版本一致后,运行npm rebuild node-sass即可

该问题目前已经被锁定, 无法添加新回复