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

执行npm start时Git Bash提示‘.’不被识别的问题求助

解决Windows Git Bash中npm start执行prestart脚本报错的问题

这个错误的根源很清晰:Windows默认的cmd.exe不识别Unix风格的shell脚本语法和路径,而npm在Windows环境下默认会调用cmd来执行package.json里的脚本,所以你写的./node_modules/react-viro/bin/run_ngrok.sh这种Unix路径在cmd里就会触发报错。

给你几个可行的解决方案:

方案1:修改prestart脚本,指定用bash执行

直接在prestart命令前加上bash,强制让这个shell脚本在Git Bash的bash环境下运行,修改你的package.json脚本配置如下:

"prestart": "bash ./node_modules/react-viro/bin/run_ngrok.sh",
"start": "node node_modules/react-native/local-cli/cli.js start"

这样npm执行prestart时会调用bash来处理sh脚本,就能正常识别Unix路径了。

方案2:设置npm默认用Git Bash作为脚本执行shell

如果你经常需要在Windows上运行Unix风格的npm脚本,可以一次性把npm的默认脚本shell改成Git Bash的bash.exe:
打开Git Bash,运行以下命令(注意替换成你实际的Git安装路径,比如你的Git装在C:\Git\bin\bash.exe就对应修改路径):

npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"

设置完成后,所有npm脚本都会默认用bash执行,以后再运行npm start就不会再出现路径识别的问题了。

方案3:手动分步骤执行脚本

如果暂时不想修改配置,也可以手动拆分启动步骤:

  1. 打开Git Bash,先执行ngrok脚本:
    ./node_modules/react-viro/bin/run_ngrok.sh
    
  2. 保持这个窗口运行,再打开一个新的Git Bash窗口,执行:
    npm start
    

这样也能绕过prestart的自动执行逻辑,顺利完成启动流程。

你可以根据自己的使用习惯选择其中一种方案,一般方案1或2都能彻底解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:56:03