Mac环境下ExtJS 7.0.0社区版按官方文档执行npm start启动报错
问题原因
- ExtJS 7.0.0配套的Sencha Cmd依赖Java 8内置的Nashorn JavaScript脚本引擎,Java 11及更高版本已经官方移除了该引擎,导致构建时无法初始化JS执行环境
- Mac设备如果安装了Java 11+版本,运行
npm start触发Sencha Cmd构建时就会抛出对应的异常
解决方案
- 安装Java 8(JDK 1.8版本),如果设备上已有高版本Java,不需要卸载,可通过环境变量切换版本
- 打开终端的配置文件,zsh终端执行
open ~/.zshrc,bash终端执行open ~/.bash_profile - 在配置文件末尾添加如下内容,默认Java 8安装路径可直接使用如下配置,若自定义了安装路径需自行替换:
export JAVA_8_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home export JAVA_HOME=$JAVA_8_HOME
- 保存配置文件后执行生效命令,zsh终端执行
source ~/.zshrc,bash终端执行source ~/.bash_profile - 执行
java -version验证版本,输出显示java version "1.8.x"即为配置成功 - 回到ExtJS项目目录,重新执行启动命令即可:
cd my-app npm start
如果需要保留高版本Java供其他软件使用,也可以每次启动ExtJS项目前,在当前终端窗口执行export JAVA_HOME=$JAVA_8_HOME临时切换Java版本,再运行启动命令,不影响全局环境。
内容的提问来源于stack exchange,提问作者ling
相关产品推荐
相关产品推荐

