使用HBuilder对uni-app项目云打包成app一直打包失败,

# 错误日志
HBuilder] 14:36:19.600 正在编译中...
[HBuilder] 14:37:33.088 Module build failed (from ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js):
[HBuilder] 14:37:33.088 Error: Missing binding /Users/a1111/myproject/scwl/hy-web-app-ui/node_modules/node-sass/vendor/darwin-x64-93/binding.node
[HBuilder] 14:37:33.120 Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 16.x
[HBuilder] 14:37:33.121 Found bindings for the following environments:
[HBuilder] 14:37:33.140   - OS X 64-bit with Node.js 13.x
[HBuilder] 14:37:33.141 This usually happens because your environment has changed since running `npm install`.
[HBuilder] 14:37:33.179 Run `npm rebuild node-sass` to download the binding for your current environment.
[HBuilder] 14:37:33.184     at /Users/a1111/myproject/scwl/hy-web-app-ui/node_modules/node-sass/lib/binding.js:15:13
[HBuilder] 14:37:33.185     at Object.<anonymous> (/Users/a1111/myproject/scwl/hy-web-app-ui/node_modules/node-sass/lib/index.js:13:35)
[HBuilder] 14:37:33.199     at Module._compile (node:internal/modules/cjs/loader:1126:14)
[HBuilder] 14:37:33.199     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
[HBuilder] 14:37:33.214     at Module.load (node:internal/modules/cjs/loader:1004:32)
[HBuilder] 14:37:33.227     at Function.Module._load (node:internal/modules/cjs/loader:839:12)
[HBuilder] 14:37:33.228     at Module.require (node:internal/modules/cjs/loader:1028:19)
[HBuilder] 14:37:33.244     at require (node:internal/modules/cjs/helpers:102:18)
[HBuilder] 14:37:33.244     at getDefaultSassImplementation (/Users/a1111/myproject/scwl/hy-web-app-ui/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/getDefaultSassImplementation.js:24:10)
[HBuilder] 14:37:33.261     at getSassImplementation (/Users/a1111/myproject/scwl/hy-web-app-ui/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/getSassImplementation.js:19:72)
[HBuilder] 14:37:33.278     at Object.loader (/Users/a1111/myproject/scwl/hy-web-app-ui/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/index.js:42:61)
[HBuilder] 14:37:33.294 Error: getaddrinfo ENOTFOUND 96f0e031-f37a-48ef-84c7-2023f6360c0a.bspapp.com
[HBuilder] 14:37:33.294     at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:109:26) {
[HBuilder] 14:37:33.310   errno: -3008,
[HBuilder] 14:37:33.360 }
[HBuilder] 14:37:33.377 项目 'hy-web-app-ui' 编译成功。
[HBuilder] 14:37:33.395  ERROR  Build failed with errors.
当前项目一直使用的node版本为14.14.0
一直以为是node-saas和sass-loader版本不对,
npm uninstall node-sass sass-loader
npm install node-sass@4.13.1 sass-loader@7.3.1
npm rebuild node-sass

经过各种变换版本,重装node,修改mac电脑上终端配置一直都不行。
直到仔细检查错误日志,node js 16.x

发现是打包的node版本与项目版本不一致
经过查询资料发现HBuild有个内置的node
进入软件内部,查看node版本

a1111@MacBook-Pro ~ % cd /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node
a1111@MacBook-Pro node % ls
node		package.json
a1111@MacBook-Pro node % node --version
v13.14.0

# 还是不对,仔细想想,想起来这个命令的node是环境变量里面找的,不是当前文件夹下面的,于是
a1111@MacBook-Pro node % ./node --version
v16.17.0

# 找到问题,先修改当前文件夹下面的版本
a1111@MacBook-Pro node % mv ./node node-v16

a1111@MacBook-Pro node % whereis node
node: /Users/a1111/.nvm/versions/node/v13.14.0/bin/node /Users/a1111/.nvm/versions/node/v13.14.0/share/man/man1/node.1
a1111@MacBook-Pro node % ln -s /Users/a1111/.nvm/versions/node/v13.14.0/bin/node /Applications/HBuilderX.app/Contents/HBuilderX/plugins/node/node

a1111@MacBook-Pro node % ls
node		node-v16	package.json
a1111@MacBook-Pro node % ./node --version
v13.14.0

再次进行打包

等待中

posted @ 2023-12-22 15:10  下个ID见  阅读(1704)  评论(0)    收藏  举报