首页 > 解决方案 > “npx cap add ios”失败并出现错误“使用 pod install 更新 iOS 本机依赖项 - 失败!”

问题描述

我刚刚创建了一个全新的 Ionic 应用程序,使用命令“ionic start myApp blank”

我添加了必要的角度依赖性以使“离子服务”正常工作。

我已经使用以下命令安装了电容器

npm install @capacitor/cli @capacitor/core
npx cap init

npm install @capacitor/ios @capacitor/android

我的 Package.json 如下所示,

{
  "name": "myApp",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "~12.1.1",
    "@angular/core": "~12.1.1",
    "@angular/forms": "~12.1.1",
    "@angular/platform-browser": "~12.1.1",
    "@angular/platform-browser-dynamic": "~12.1.1",
    "@angular/router": "~12.1.1",
    "@capacitor/android": "^3.2.4",
    "@capacitor/app": "1.0.3",
    "@capacitor/core": "^3.2.4",
    "@capacitor/haptics": "1.1.0",
    "@capacitor/ios": "^3.2.4",
    "@capacitor/keyboard": "1.1.0",
    "@capacitor/status-bar": "1.0.3",
    "@ionic/angular": "^5.5.2",
    "rxjs": "~6.6.0",
    "tslib": "^2.2.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~12.1.1",
    "@angular-eslint/builder": "~12.0.0",
    "@angular-eslint/eslint-plugin": "~12.0.0",
    "@angular-eslint/eslint-plugin-template": "~12.0.0",
    "@angular-eslint/template-parser": "~12.0.0",
    "@angular/cli": "~12.1.1",
    "@angular/compiler": "~12.1.1",
    "@angular/compiler-cli": "~12.1.1",
    "@angular/language-service": "~12.0.1",
    "@capacitor/cli": "^3.2.4",
    "@ionic/angular-toolkit": "^4.0.0",
    "@types/jasmine": "~3.6.0",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "@typescript-eslint/eslint-plugin": "4.16.1",
    "@typescript-eslint/parser": "4.16.1",
    "eslint": "^7.6.0",
    "eslint-plugin-import": "2.22.1",
    "eslint-plugin-jsdoc": "30.7.6",
    "eslint-plugin-prefer-arrow": "1.2.2",
    "jasmine-core": "~3.8.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~6.3.2",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage": "~2.0.3",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~4.0.0",
    "karma-jasmine-html-reporter": "^1.5.0",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "typescript": "~4.2.4"
  },
  "description": "An Ionic project"
}

我运行了以下命令,它有效

rm -r "./www"
rm -r "./ios"
ng build

在此之后,我尝试运行以下命令 ionic capacitor add ios (或) npx cap add ios

错误如下

✔ Adding native Xcode project in ios in 29.98ms
✔ add in 30.56ms
✔ Copying web assets from www to ios/App/App/public in 864.98ms
✔ Creating capacitor.config.json in ios/App/App in 699.86μp
(node:25320) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at /Users/493055/Desktop/dev/IonicExperiment/myApp/node_modules/tslib/package.json.
Update this package.json to use a subpath pattern like "./*".
(Use `node --trace-deprecation ...` to show where the warning was created)
✔ copy ios in 908.37ms
✔ Updating iOS plugins in 5.66ms
[info] Found 4 Capacitor plugins for ios:
       @capacitor/app@1.0.3
       @capacitor/haptics@1.1.0
       @capacitor/keyboard@1.1.0
       @capacitor/status-bar@1.0.3
✖ Updating iOS native dependencies with pod install - failed!
✖ update ios - failed!
[error] ERR_SUBPROCESS_NON_ZERO_EXIT

(base) AMBIN01978:myApp 493055$ ionic capacitor add ios
> npm i -E @capacitor/ios@latest
npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/
npm notice Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/


up to date in 5s

136 packages are looking for funding
  run `npm fund` for details
> capacitor add ios
[capacitor] ✔ Adding native Xcode project in ios in 32.31ms
[capacitor] ✔ add in 33.30ms
[capacitor] ✔ Copying web assets from www to ios/App/App/public in 696.66ms
[capacitor] ✔ Creating capacitor.config.json in ios/App/App in 446.33μp
[capacitor] (node:25522) [DEP0148] DeprecationWarning: Use of deprecated folder mapping "./" in the "exports" field module resolution of the package at /Users/493055/Desktop/dev/IonicExperiment/myApp/node_modules/tslib/package.json.

[capacitor] Update this package.json to use a subpath pattern like "./*".
[capacitor] (Use `node --trace-deprecation ...` to show where the warning was created)
[capacitor] ✔ copy ios in 715.44ms
[capacitor] ✔ Updating iOS plugins in 4.48ms
[capacitor] [info] Found 4 Capacitor plugins for ios:
[capacitor]        @capacitor/app@1.0.3
[capacitor]        @capacitor/haptics@1.1.0
[capacitor]        @capacitor/keyboard@1.1.0
[capacitor]        @capacitor/status-bar@1.0.3
[capacitor] ✖ Updating iOS native dependencies with pod install - failed!
[capacitor] ✖ update ios - failed!
[capacitor] [error] xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
[capacitor]         
[ERROR] An error occurred while running subprocess capacitor.
        
        capacitor add ios exited with exit code 1.
        
        Re-running this command with the --verbose flag may provide more information.

几天来一直在为这个问题而烦恼。任何帮助是极大的赞赏

标签: iosangularxcodeionic-frameworkcapacitor

解决方案


我在终端中运行了以下命令

sudo xcode-select --reset

并为我摆脱了错误


推荐阅读