You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M2芯片Mac的Vagrant Ubuntu虚拟机运行sencha app watch报Fashion build错误码2

解决Vagrant Ubuntu虚拟机中Sencha Cmd sencha app watch构建失败问题

问题描述

我是ExtJS新手,在搭载M2芯片的Mac系统上的Vagrant Ubuntu 22.04.1 LTS虚拟机中,使用Sencha Cmd 7.6.0.87创建ExtJS 7经典版项目时,执行sencha app watch命令出现构建失败,提示Fashion build exited with code : 2,日志显示Node存在未终止字符串的语法错误。本地Mac同版本环境运行正常,仅虚拟机出现该问题。

虚拟机环境信息

  • 系统:Vagrant Ubuntu 22.04.1 LTS(aarch64架构)
  • Node:v14.19.0
  • npm:6.14.16
  • OpenJDK:11.0.19 2023-04-18 LTS
  • Ruby:3.0.2p107 (2021-07-07 revision 0db68f0233) [aarch64-linux-gnu]
  • Sencha Cmd:7.6.0.87

操作步骤

  1. 执行./SenchaCmd-7.6.0.87-linux-amd64.sh -Dall=true -q完整安装Sencha Cmd及所有扩展;
  2. 执行sencha app init --ext@7.6.0 --classic MyApp初始化经典版项目;
  3. 执行sencha app watch启动开发编译,触发错误。

解决方案

1. 处理Sencha Cmd内置Node与系统Node的冲突

Sencha Cmd自带Node环境,在aarch64架构下可能与系统安装的Node版本不兼容:

  • 查询Sencha Cmd内置Node的路径:
    sencha which node
    
  • 备份内置Node并创建软链接指向系统Node(替换为实际查询到的路径):
    cd /path/to/sencha/cmd/node
    mv node node.bak
    ln -s /usr/bin/node node
    

2. 清理缓存并检查配置文件

  • 执行缓存清理命令:
    sencha app clean
    
  • 检查项目自动生成的app.json、build.xml等配置文件,确认所有字符串引号闭合、无语法错误;同时确保项目路径不含中文或特殊字符。

3. 适配aarch64架构的Node版本

Sencha Cmd 7.6.0.87对aarch64架构下的Node 14.19.0兼容性可能存在问题,可尝试升级到14.x最新稳定版:

# 安装nvm(若未安装)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
# 安装并使用Node 14.21.3
nvm install 14.21.3
nvm use 14.21.3

完成后重新执行sencha app watch。

4. 临时禁用Fashion构建

若以上方法均无效,可临时禁用Fashion以继续开发:

sencha app watch --fashion false

或修改项目app.json中development构建配置,添加"fashion": false。

内容的提问来源于stack exchange,提问作者Yanguo Cao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:43:24