Windows11下NativeScript+Angular创建项目遇spawn EINVAL错误求助
以下是针对该问题的有效修复方案:
降级Node.js至18.x LTS版本
NativeScript 8.7.0与Node.js 20.x存在兼容性问题。使用Node版本管理器(nvm)安装并切换到Node.js 18 LTS:nvm install 18 nvm use 18切换完成后,执行
node -v确认版本,然后重新安装NativeScript CLI以确保兼容性。清理缓存并重新安装NativeScript CLI
损坏的CLI文件可能导致spawn错误,执行以下命令:npm uninstall -g nativescript npm cache clean --force npm install -g nativescript@8.7.0重新运行
tns doctor确认环境仍正常。避免项目路径包含空格或非ASCII字符
Windows系统中,若项目目录路径存在空格或特殊字符,会导致spawn调用失败。请将项目创建在类似C:\ns-projects\my-angular-app的路径下,而非C:\我的项目\NativeScript应用这类路径。验证Java版本兼容性
确保使用Java 11 LTS版本(AdoptOpenJDK或OpenJDK均可)。NativeScript 8.x对Java 21等新版本可能存在兼容性问题。执行以下命令查看Java版本:java -version若需要,安装Java 11并更新
JAVA_HOME环境变量指向Java 11的安装目录。临时关闭杀毒软件/防火墙
部分Windows安全工具会拦截NativeScript使用的spawn进程,临时关闭后再次尝试创建或构建项目。检查Android SDK构建工具版本
确保已安装与NativeScript 8.7.0兼容的Android SDK Build Tools 33.0.2版本,可通过Android Studio的SDK管理器进行管理。
内容的提问来源于stack exchange,提问作者gsarme

