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

使用Ionic/Cordova添加iOS平台时遇TypeError错误求助

解决ionic cordova platform add ios时的macos-release迭代错误

执行ionic cordova platform add ios添加iOS平台时,触发node_modules/macos-release/index.js第30行的错误:

TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

错误源于代码const [name, version] = kshfNameMap.get(release);——当kshfNameMap.get(release)返回undefined时,无法进行数组解构赋值。

解决方案

  • 检查当前macOS版本
    运行终端命令sw_vers查看系统版本号,这个错误大多因为你的macOS版本不在旧版macos-release包的支持列表中(比如较新的Sonoma/Ventura版本)。

  • 更新macos-release依赖
    进入项目根目录,执行命令更新该依赖到最新版:

    npm install macos-release@latest --save-dev
    
  • 清理缓存并重新构建依赖

    1. 清理npm缓存:
      npm cache clean --force
      
    2. 删除现有依赖文件:
      rm -rf node_modules package-lock.json
      
    3. 重新安装所有依赖:
      npm install
      
    4. 再次尝试添加iOS平台:
      ionic cordova platform add ios
      
  • 临时应急修复(不推荐长期使用)
    如果更新依赖后问题仍存在,可以临时修改报错文件:
    打开node_modules/macos-release/index.js,找到第30行,替换为:

    const result = kshfNameMap.get(release);
    const [name, version] = result || ['Unknown macOS', 'Unknown'];
    

    修改后重新执行添加平台命令即可,不过后续依赖更新会覆盖这个修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 23:10:25