Windows下expo-module-scripts执行npm install失败,如何仅开发Android和web?
解决方案
一、解决npm install的报错问题
报错根源是expo-module-scripts中的set -eo pipefail是Bash语法,Windows默认终端(CMD/PowerShell)不支持。以下是两种可行方案:
方案1:使用WSL(Windows子系统Linux)
这是最稳妥的方式,完全兼容Bash脚本:
- 启用WSL并安装Ubuntu(或其他Linux发行版),通过Windows功能面板完成启用和安装
- 打开WSL终端,切换到项目目录,执行
npm install,此时Bash脚本可正常运行 - 安装完成后,回到Windows终端依然可以执行Android和Web的开发命令
方案2:临时修改依赖脚本(不推荐,依赖更新会失效)
如果不想用WSL,可临时修改报错的脚本文件:
- 找到
node_modules/expo-module-scripts/bin/expo-module-build文件 - 注释掉第3行的
set -eo pipefail(在行前加#) - 重新执行
npm install
二、跳过iOS部分,专注Android和Web开发
安装完成后,通过以下配置确保只构建目标平台:
- 修改项目根目录的
app.json或expo.json,指定仅支持的平台:{ "expo": { "platforms": ["android", "web"] } } - 运行开发命令时指定平台:
- 启动Android开发服务:
npx expo start --android - 启动Web开发服务:
npx expo start --web
- 启动Android开发服务:
三、确保Android开发环境就绪
在Windows上开发Android需提前配置:
- 安装Android Studio,并完成SDK、模拟器的安装
- 配置
ANDROID_HOME环境变量,指向SDK安装目录 - 确保
platform-tools目录已添加到系统PATH中
内容的提问来源于stack exchange,提问作者Funghi
相关产品推荐
相关产品推荐

