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

Apple Silicon MacOS更新后Gradle执行ng build失败求助

解决Apple Silicon MacOS更新后Gradle执行ng build找不到命令的问题

问题原因

MacOS更新后,Gradle执行Zsh脚本或直接调用ng时,默认环境变量的PATH未包含Homebrew在Apple Silicon上的安装路径(/opt/homebrew/bin),且非交互式Zsh进程不会自动加载~/.zshrc中的PATH配置,导致找不到ng命令。

解决方案

方案1:直接使用ng的绝对路径

先在Zsh终端执行which ng,获取ng的绝对路径(Apple Silicon上通常为/opt/homebrew/bin/ng),然后修改Gradle任务或脚本:

修改Gradle任务

task ngBuild(type:Exec) {
    group 'frontendTasks'
    println "Do npm build"
    workingDir 'src/main/resources/frontend-angular/'
    commandLine '/opt/homebrew/bin/ng', 'build'
}

修改runNgBuild.sh脚本

#! /bin/zsh 
/opt/homebrew/bin/ng build 

方案2:在脚本中加载完整Zsh环境

非交互式Zsh不会自动加载~/.zshrc,可以在脚本中手动加载:

#! /bin/zsh
source ~/.zshrc
ng build

注意:如果~/.zshrc中包含仅适用于交互式shell的代码(如主题、提示符配置),建议将PATH相关配置迁移到~/.zshenv文件中(非交互式Zsh会自动加载该文件),避免加载冗余代码。

方案3:在Gradle任务中配置PATH环境变量

直接在Gradle的Exec任务中扩展PATH,包含Homebrew的bin目录:

task ngBuild(type:Exec) {
    group 'frontendTasks'
    println "Do npm build"
    workingDir 'src/main/resources/frontend-angular/'
    environment 'PATH', "/opt/homebrew/bin:$PATH"
    commandLine 'ng', 'build'
}

这个方案无需额外脚本,直接在Gradle中配置即可解决路径问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:07:19