首页 > 解决方案 > “ionic cordova prepare android”继续尝试安装 iOS 插件导致构建在 Ubuntu 16.04 上失败

问题描述

我目前正在使用 ionic cordova 为现有的 iOS/Android 应用程序做出贡献。克隆 repo 后,我尝试运行

$ cordova prepare android

但是,它不起作用。它不断给我这个结果

我还尝试了各种修复,例如尝试使用 npm 全局安装 ios-sim,但是,我将坚持为它安装各种依赖项。

我正在运行 Ubuntu/Xenial 16.04 的流浪者,所以这可能是一个 linux 问题,因为除非我在 Mac 上,否则 iOS SDK 将无法工作?请注意,这是在我办公室的 Mac 上运行的。

config.xml(摘录)

<platform name="android">
    <allow-intent href="market:*" />
    <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
    <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
    <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
    <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
    <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
    <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
    <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
    <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
    <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
    <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
    <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
    <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
    <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
    <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
    <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
    <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
    <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
    <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
</platform>
<platform name="ios">
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
    <icon height="57" src="resources/ios/icon/icon.png" width="57" />
    <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
    <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
    <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
    <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
    <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
    <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
    <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
    <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
    <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
    <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
    <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
    <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
    <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
    <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
    <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
    <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
    <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
    <icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
    <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
    <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
    <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
    <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
    <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
    <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
    <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
    <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
    <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
    <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
    <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
    <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
    <splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
    <preference name="StatusBarOverlaysWebView" value="false" />
</platform>

package-lock.json(摘录)

"cordova-android": {
  "version": "7.0.0",
  "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-7.0.0.tgz",
  "integrity": "sha1-yVvt/PvDhjsYDE0p7/7E95Nh0Z0=",
  "requires": {
    "android-versions": "1.2.1",
    "cordova-common": "2.2.0",
    "elementtree": "0.1.6",
    "nopt": "3.0.6",
    "properties-parser": "0.2.3",
    "q": "1.5.1",
    "shelljs": "0.5.3"
  },
  "dependencies": {
    "abbrev": {
      "version": "1.1.1",
      "bundled": true
    },
    "android-versions": {
      "version": "1.2.1",
      "bundled": true
    },
    "ansi": {
      "version": "0.3.1",
      "bundled": true
    },
    "balanced-match": {
      "version": "1.0.0",
      "bundled": true
    },
    "base64-js": {
      "version": "0.0.8",
      "bundled": true
    },
    "big-integer": {
      "version": "1.6.26",
      "bundled": true
    },
    "bplist-parser": {
      "version": "0.1.1",
      "bundled": true,
      "requires": {
        "big-integer": "1.6.26"
      }
    },
    "brace-expansion": {
      "version": "1.1.8",
      "bundled": true,
      "requires": {
        "balanced-match": "1.0.0",
        "concat-map": "0.0.1"
      }
    },
    "concat-map": {
      "version": "0.0.1",
      "bundled": true
    },
    "cordova-common": {
      "version": "2.2.0",
      "bundled": true,
      "requires": {
        "ansi": "0.3.1",
        "bplist-parser": "0.1.1",
        "cordova-registry-mapper": "1.1.15",
        "elementtree": "0.1.6",
        "glob": "5.0.15",
        "minimatch": "3.0.4",
        "osenv": "0.1.4",
        "plist": "1.2.0",
        "q": "1.5.1",
        "semver": "5.4.1",
        "shelljs": "0.5.3",
        "underscore": "1.8.3",
        "unorm": "1.4.1"
      }
    },
    "cordova-registry-mapper": {
      "version": "1.1.15",
      "bundled": true
    },
    "elementtree": {
      "version": "0.1.6",
      "bundled": true,
      "requires": {
        "sax": "0.3.5"
      }
    },
    "glob": {
      "version": "5.0.15",
      "bundled": true,
      "requires": {
        "inflight": "1.0.6",
        "inherits": "2.0.3",
        "minimatch": "3.0.4",
        "once": "1.4.0",
        "path-is-absolute": "1.0.1"
      }
    },
    "inflight": {
      "version": "1.0.6",
      "bundled": true,
      "requires": {
        "once": "1.4.0",
        "wrappy": "1.0.2"
      }
    },
    "inherits": {
      "version": "2.0.3",
      "bundled": true
    },
    "lodash": {
      "version": "3.10.1",
      "bundled": true
    },
    "minimatch": {
      "version": "3.0.4",
      "bundled": true,
      "requires": {
        "brace-expansion": "1.1.8"
      }
    },
    "nopt": {
      "version": "3.0.6",
      "bundled": true,
      "requires": {
        "abbrev": "1.1.1"
      }
    },
    "once": {
      "version": "1.4.0",
      "bundled": true,
      "requires": {
        "wrappy": "1.0.2"
      }
    },
    "os-homedir": {
      "version": "1.0.2",
      "bundled": true
    },
    "os-tmpdir": {
      "version": "1.0.2",
      "bundled": true
    },
    "osenv": {
      "version": "0.1.4",
      "bundled": true,
      "requires": {
        "os-homedir": "1.0.2",
        "os-tmpdir": "1.0.2"
      }
    },
    "path-is-absolute": {
      "version": "1.0.1",
      "bundled": true
    },
    "plist": {
      "version": "1.2.0",
      "bundled": true,
      "requires": {
        "base64-js": "0.0.8",
        "util-deprecate": "1.0.2",
        "xmlbuilder": "4.0.0",
        "xmldom": "0.1.27"
      }
    },
    "properties-parser": {
      "version": "0.2.3",
      "bundled": true
    },
    "q": {
      "version": "1.5.1",
      "bundled": true
    },
    "sax": {
      "version": "0.3.5",
      "bundled": true
    },
    "semver": {
      "version": "5.4.1",
      "bundled": true
    },
    "shelljs": {
      "version": "0.5.3",
      "bundled": true
    },
    "underscore": {
      "version": "1.8.3",
      "bundled": true
    },
    "unorm": {
      "version": "1.4.1",
      "bundled": true
    },
    "util-deprecate": {
      "version": "1.0.2",
      "bundled": true
    },
    "wrappy": {
      "version": "1.0.2",
      "bundled": true
    },
    "xmlbuilder": {
      "version": "4.0.0",
      "bundled": true,
      "requires": {
        "lodash": "3.10.1"
      }
    },
    "xmldom": {
      "version": "0.1.27",
      "bundled": true
    }
  }
},
"cordova-ios": {
  "version": "4.5.5",
  "resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-4.5.5.tgz",
  "integrity": "sha512-3+30m2dZ2yii7kg+H7cgpdpkXpMj54zoX5imjGGG4Z7dPXKmalTLc/9rLq+Iaa+Q1BqyOrUFaHopWOODRU6vCg==",
  "requires": {
    "abbrev": "1.1.1",
    "ansi": "0.3.1",
    "balanced-match": "1.0.0",
    "base64-js": "1.2.0",
    "big-integer": "1.6.32",
    "bplist-creator": "0.0.7",
    "bplist-parser": "0.1.1",
    "brace-expansion": "1.1.11",
    "concat-map": "0.0.1",
    "cordova-common": "2.2.5",
    "cordova-registry-mapper": "1.1.15",
    "elementtree": "0.1.6",
    "glob": "5.0.15",
    "inflight": "1.0.6",
    "inherits": "2.0.3",
    "ios-sim": "6.1.3",
    "minimatch": "3.0.4",
    "nopt": "3.0.6",
    "once": "1.4.0",
    "path-is-absolute": "1.0.1",
    "plist": "2.1.0",
    "q": "1.5.1",
    "sax": "0.3.5",
    "shelljs": "0.5.3",
    "simctl": "1.1.1",
    "simple-plist": "0.2.1",
    "stream-buffers": "2.2.0",
    "tail": "0.4.0",
    "underscore": "1.9.1",
    "unorm": "1.4.1",
    "uuid": "3.0.1",
    "wrappy": "1.0.2",
    "xcode": "0.9.3",
    "xml-escape": "1.1.0",
    "xmlbuilder": "8.2.2",
    "xmldom": "0.1.27"
  },
  "dependencies": {
    "abbrev": {
      "version": "1.1.1",
      "bundled": true
    },
    "ansi": {
      "version": "0.3.1",
      "bundled": true
    },
    "balanced-match": {
      "version": "1.0.0",
      "bundled": true
    },
    "base64-js": {
      "version": "1.2.0",
      "bundled": true
    },
    "big-integer": {
      "version": "1.6.32",
      "bundled": true
    },
    "bplist-creator": {
      "version": "0.0.7",
      "bundled": true,
      "requires": {
        "stream-buffers": "2.2.0"
      }
    },
    "bplist-parser": {
      "version": "0.1.1",
      "bundled": true,
      "requires": {
        "big-integer": "1.6.32"
      }
    },
    "brace-expansion": {
      "version": "1.1.11",
      "bundled": true,
      "requires": {
        "balanced-match": "1.0.0",
        "concat-map": "0.0.1"
      }
    },
    "concat-map": {
      "version": "0.0.1",
      "bundled": true
    },
    "cordova-common": {
      "version": "2.2.5",
      "bundled": true,
      "requires": {
        "ansi": "0.3.1",
        "bplist-parser": "0.1.1",
        "cordova-registry-mapper": "1.1.15",
        "elementtree": "0.1.6",
        "glob": "5.0.15",
        "minimatch": "3.0.4",
        "plist": "2.1.0",
        "q": "1.5.1",
        "shelljs": "0.5.3",
        "underscore": "1.9.1",
        "unorm": "1.4.1"
      }
    },
    "cordova-registry-mapper": {
      "version": "1.1.15",
      "bundled": true
    },
    "elementtree": {
      "version": "0.1.6",
      "bundled": true,
      "requires": {
        "sax": "0.3.5"
      }
    },
    "glob": {
      "version": "5.0.15",
      "bundled": true,
      "requires": {
        "inflight": "1.0.6",
        "inherits": "2.0.3",
        "minimatch": "3.0.4",
        "once": "1.4.0",
        "path-is-absolute": "1.0.1"
      }
    },
    "inflight": {
      "version": "1.0.6",
      "bundled": true,
      "requires": {
        "once": "1.4.0",
        "wrappy": "1.0.2"
      }
    },
    "inherits": {
      "version": "2.0.3",
      "bundled": true
    },
    "ios-sim": {
      "version": "6.1.3",
      "bundled": true,
      "requires": {
        "bplist-parser": "0.0.6",
        "nopt": "1.0.9",
        "plist": "2.1.0",
        "simctl": "1.1.1"
      },
      "dependencies": {
        "bplist-parser": {
          "version": "0.0.6",
          "bundled": true
        },
        "nopt": {
          "version": "1.0.9",
          "bundled": true,
          "requires": {
            "abbrev": "1.1.1"
          }
        }
      }
    },
    "minimatch": {
      "version": "3.0.4",
      "bundled": true,
      "requires": {
        "brace-expansion": "1.1.11"
      }
    },
    "nopt": {
      "version": "3.0.6",
      "bundled": true,
      "requires": {
        "abbrev": "1.1.1"
      }
    },
    "once": {
      "version": "1.4.0",
      "bundled": true,
      "requires": {
        "wrappy": "1.0.2"
      }
    },
    "path-is-absolute": {
      "version": "1.0.1",
      "bundled": true
    },
    "plist": {
      "version": "2.1.0",
      "bundled": true,
      "requires": {
        "base64-js": "1.2.0",
        "xmlbuilder": "8.2.2",
        "xmldom": "0.1.27"
      }
    },
    "q": {
      "version": "1.5.1",
      "bundled": true
    },
    "sax": {
      "version": "0.3.5",
      "bundled": true
    },
    "shelljs": {
      "version": "0.5.3",
      "bundled": true
    },
    "simctl": {
      "version": "1.1.1",
      "bundled": true,
      "requires": {
        "shelljs": "0.2.6",
        "tail": "0.4.0"
      },
      "dependencies": {
        "shelljs": {
          "version": "0.2.6",
          "bundled": true
        }
      }
    },
    "simple-plist": {
      "version": "0.2.1",
      "bundled": true,
      "requires": {
        "bplist-creator": "0.0.7",
        "bplist-parser": "0.1.1",
        "plist": "2.0.1"
      },
      "dependencies": {
        "base64-js": {
          "version": "1.1.2",
          "bundled": true
        },
        "plist": {
          "version": "2.0.1",
          "bundled": true,
          "requires": {
            "base64-js": "1.1.2",
            "xmlbuilder": "8.2.2",
            "xmldom": "0.1.27"
          }
        }
      }
    },
    "stream-buffers": {
      "version": "2.2.0",
      "bundled": true
    },
    "tail": {
      "version": "0.4.0",
      "bundled": true
    },
    "underscore": {
      "version": "1.9.1",
      "bundled": true
    },
    "unorm": {
      "version": "1.4.1",
      "bundled": true
    },
    "uuid": {
      "version": "3.0.1",
      "bundled": true
    },
    "wrappy": {
      "version": "1.0.2",
      "bundled": true
    },
    "xcode": {
      "version": "0.9.3",
      "bundled": true,
      "requires": {
        "pegjs": "0.10.0",
        "simple-plist": "0.2.1",
        "uuid": "3.0.1"
      }
    },
    "xml-escape": {
      "version": "1.1.0",
      "bundled": true
    },
    "xmlbuilder": {
      "version": "8.2.2",
      "bundled": true
    },
    "xmldom": {
      "version": "0.1.27",
      "bundled": true
    }
  }
},

标签: androidioscordovaionic3

解决方案


由于我的问题仅涉及由于某些 iOS 依赖项而无法正确安装,因此我可以通过运行以下命令暂时删除平台来解决此问题:

$ cordova platform remove ios

这样做之后,我能够正确运行它:

$ ionic cordova prepare

推荐阅读