uni-app macOS 11.2 环境下HBuilderX 调试cli创建的项目 编译失败 已解决
uni-app macOS 11.2 环境下HBuilderX 调试cli创建的项目 编译失败 已解决
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Mac | 11.2.2 | |
HBuilderX | 3.1.2 |
示例代码:
15:29:40.067 项目 'mp-app' 开始编译...
15:29:41.583 编译器版本:3.1.2(v3)详见:https://ask.dcloud.net.cn/article/36599。
15:29:41.594 请注意运行模式下,因日志输出、sourcemap以及未压缩源码等原因,性能和包体积,均不及发行模式。
15:29:41.800 正在编译中...
15:29:43.402 ERROR SyntaxError: Unexpected token {
15:29:43.414 /Users/tom/Work/LMCP/mp-app/node_modules/fs-extra/lib/mkdirs/make-dir.js:85
15:29:43.415 } catch {
15:29:43.428 ^
15:29:43.429 SyntaxError: Unexpected token {
15:29:43.436 at createScript (vm.js:80:10)
15:29:43.442 at Object.runInThisContext (vm.js:139:10)
15:29:43.452 at Module._compile (module.js:616:28)
15:29:43.452 at Object.Module._extensions..js (module.js:663:10)
15:29:43.460 at Module.load (module.js:565:32)
15:29:43.466 at tryModuleLoad (module.js:505:12)
15:29:43.473 at Function.Module._load (module.js:497:3)
15:29:43.481 at Module.require (module.js:596:17)
15:29:43.481 at require (internal/module.js:11:18)
15:29:43.486 at Object.<anonymous> (/Users/tom/Work/LMCP/mp-app/node_modules/fs-extra/lib/mkdirs/index.js:3:44)
15:29:43.496 at Module._compile (module.js:652:30)
15:29:43.497 at Object.Module._extensions..js (module.js:663:10)
15:29:43.503 at Module.load (module.js:565:32)
15:29:43.512 at tryModuleLoad (module.js:505:12)
15:29:43.513 at Function.Module._load (module.js:497:3)
15:29:43.518 at Module.require (module.js:596:17)
操作步骤:
同上
### 预期结果:
正常在小程序开发工具或模拟器中运行
实际结果:
编译阶段就失败了。
### bug描述:
使用HBuilder调试微信小程序或Android出现编译错误,同样代码同样操作在win10环境下正常
- 运行->运行到手机或模拟器
- 运行->小程序模拟器
猜测是权限问题
更多关于uni-app macOS 11.2 环境下HBuilderX 调试cli创建的项目 编译失败 已解决的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
等不到官方回复,自己尝试解决了。需要在偏好设置->运行设置->改为外部终端,node 和npm 改为 本地路径。
这是Node.js版本兼容性问题。错误提示Unexpected token {
表明当前Node版本不支持catch语句后直接跟{}的语法(这是Node 10+的特性)。
解决方案:
- 升级Node.js到v10或更高版本
- 或者降级fs-extra到v8.x版本(兼容Node 8)
在macOS上建议使用nvm管理Node版本:
nvm install 12
nvm use 12