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

克隆Angular项目启动时出现Bash SyntaxError问题求助

解决Windows下Angular项目npm run start的Bash语法错误

问题原因

你克隆的项目里的ng文件是Bash脚本格式,但Windows环境下npm默认用CMD或PowerShell执行,导致Bash语法无法被解析,才会出现basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")的括号错误。而你自建项目的ng指向ng.js,是Node.js能直接执行的脚本,天然适配Windows环境。

修复方案

  • 修改package.json的启动脚本
    把start命令里的ng直接替换成Angular CLI的JS脚本路径,比如:

    "scripts": {
      "start": "node node_modules/@angular/cli/bin/ng.js serve"
    }
    

    这样直接让Node.js执行CLI脚本,绕开Bash语法的问题。

  • 替换项目根目录的ng文件
    找到项目根目录下的ng文件,把它换成你自建项目里的ng.js内容,比如:

    #!/usr/bin/env node
    require('../lib/cli');
    

    或者直接删除原ng文件,复制自建项目的ng.js到对应目录。

  • 切换IntelliJ的默认终端
    打开IntelliJ的设置:File > Settings > Tools > Terminal,把Shell路径改成powershell.exe或cmd.exe,避免用Git Bash执行Windows下的npm脚本。

  • 重装依赖兜底
    删除node_modules和package-lock.json,然后执行:

    npm install
    

    确保依赖是适配Windows环境的版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:04:55