Ubuntu下Expo项目使用react-native-static-server构建失败求助
解决@dr.pogodin/react-native-static-server在Expo Android构建时的pcre2-config错误
以下是针对你遇到的构建失败问题的可行解决方案:
检查并修正CMake配置
该库的CMake脚本可能错误调用了主机系统的pcre2-config而非Android NDK中的版本。找到node_modules/@dr.pogodin/react-native-static-server/android/cmake下的CMake配置文件(如LighttpdCMakeLists.txt),修改PCRE2的查找逻辑:set(PCRE2_ROOT ${ANDROID_SYSROOT}) find_package(PCRE2 REQUIRED)确保脚本指向Android NDK的sysroot路径,而非系统安装的PCRE2。
彻底清理并重新构建
缓存或依赖残留可能导致问题,执行以下步骤重置构建环境:# 删除依赖和锁文件 rm -rf node_modules package-lock.json yarn.lock npm install # 清理Android构建缓存 cd android && ./gradlew clean && cd .. # 清除Expo预构建缓存 npx expo prebuild --clean完成后重新执行
npx expo run:android。指定稳定的NDK版本
部分NDK版本对PCRE2的兼容性存在问题,在android/build.gradle中明确指定一个稳定版本:android { ndkVersion = "25.2.9519653" // 其他原有配置 }修复pcre2-config脚本语法错误
错误提示显示pcre2-config脚本第3行存在语法问题(-: not found-L/lib -lpcre2-8),找到该脚本路径(通常在Gradle缓存或项目构建目录的sysroot/bin下),打开后修正第3行的参数格式,确保没有多余符号或错误拼接的参数。
内容的提问来源于stack exchange,提问作者Ahmed Hussein
相关产品推荐
相关产品推荐

