cordova-plugin-googleplus icon indicating copy to clipboard operation
cordova-plugin-googleplus copied to clipboard

Failed to install 'cordova-plugin-googleplus': Error: pod: Command failed with exit code 1 Error output

Open DuaneQ opened this issue 3 years ago • 13 comments

`Failed to install 'cordova-plugin-googleplus': Error: pod: Command failed with exit code 1 Error output: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin20/rbconfig.rb:229: warning: Insecure world writable dir /Users/anonymous/project/app-name-v5/node_modules/.bin in PATH, mode 040757 at ChildProcess.whenDone (/Users/anonymous/project/app-name-v5/node_modules/cordova-common/src/superspawn.js:136:25) at ChildProcess.emit (events.js:315:20) at maybeClose (internal/child_process.js:1048:16) at Socket. (internal/child_process.js:439:11) at Socket.emit (events.js:315:20) at Pipe. (net.js:673:12) pod: Command failed with exit code 1 Error output: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin20/rbconfig.rb:229: warning: Insecure world writable dir /Users/anonymous/project/app-name-v5/node_modules/.bin in PATH, mode 040757 [ERROR] An error occurred while running subprocess cordova.

    cordova plugin add [email protected] --variable REVERSED_CLIENT_ID... exited with exit code 1.`

This is really unfortunate. Apple keeps rejecting my app because of Google Plus using UIWebView so I was forced to upgrade. Now I'm unable to install cordova-plugin-googleplus": "^8.5.2" because of the above mentioned error.

Is there a resolution or work-around for this?

"dependencies": { "@angular/common": "~8.2.14", "@angular/core": "~8.2.14", "@angular/fire": "^5.4.2", "@angular/forms": "~8.2.14", "@angular/platform-browser": "~8.2.14", "@angular/platform-browser-dynamic": "~8.2.14", "@angular/router": "~8.2.14", "@ionic-native/core": "^5.0.0", "@ionic-native/diagnostic": "^5.26.0", "@ionic-native/firebase-messaging": "^5.32.1", "@ionic-native/geolocation": "^5.23.0", "@ionic-native/google-plus": "^5.32.1", "@ionic-native/image-picker": "^5.32.0", "@ionic-native/in-app-browser": "^5.32.1", "@ionic-native/in-app-purchase-2": "^5.32.1", "@ionic-native/ionic-webview": "^5.22.0-beta-1", "@ionic-native/splash-screen": "^5.32.0", "@ionic-native/status-bar": "^5.32.0", "@ionic/angular": "^5.0.0", "@ionic/storage": "2.2.0", "cc.fovea.cordova.purchase": "^10.1.1", "cordova-android": "^9.0.0", "cordova-android-support-gradle-release": "^3.0.1", "cordova-ios": "^6.0.0", "cordova-plugin-androidx": "^3.0.0", "cordova-plugin-androidx-adapter": "^1.1.3", "cordova-plugin-device": "^2.0.3", "cordova-plugin-firebase-analytics": "^5.0.0", "cordova-plugin-firebase-messaging": "^5.0.1", "cordova-plugin-geolocation": "^4.1.0", "cordova-plugin-googleplus": "^8.5.2", "cordova-plugin-inappbrowser": "^5.0.0", "cordova-plugin-ionic-keyboard": "^2.2.0", "cordova-plugin-ionic-webview": "^5.0.0", "cordova-plugin-splashscreen": "^6.0.0", "cordova-plugin-statusbar": "^2.4.3", "cordova-plugin-telerik-imagepicker": "^2.3.6", "cordova-plugin-whitelist": "^1.3.4", "cordova-sqlite-storage": "^6.0.0", "cordova-support-android-plugin": "^1.0.2", "cordova-support-google-services": "^1.4.1", "cordova.plugins.diagnostic": "^5.0.2", "core-js": "^2.5.4", "firebase": "^7.9.1", "geofire": "^5.0.1", "geofirex": "^0.1.0", "ionicons": "^4.5.10-0", "moment": "^2.24.0", "rxjs": "~6.5.1", "rxjs-compat": "^6.5.5", "tslib": "^1.9.0", "zone.js": "~0.9.1" }, "devDependencies": { "@angular-devkit/build-angular": "~0.803.20", "@angular/cli": "~8.3.23", "@angular/compiler": "~8.2.14", "@angular/compiler-cli": "~8.2.14", "@angular/language-service": "~8.2.14", "@ionic/angular-toolkit": "^2.1.1", "@types/jasmine": "~3.3.8", "@types/jasminewd2": "~2.0.3", "@types/node": "~8.9.4", "codelyzer": "^5.0.0", "cordova-plugin-device": "^2.0.2", "cordova-plugin-ionic-keyboard": "^2.2.0", "cordova-plugin-splashscreen": "^6.0.0", "cordova-plugin-statusbar": "^2.4.2", "cordova-plugin-whitelist": "^1.3.3", "jasmine-core": "~3.4.0", "jasmine-spec-reporter": "~4.2.1", "karma": "~4.1.0", "karma-chrome-launcher": "~2.2.0", "karma-coverage-istanbul-reporter": "~2.0.1", "karma-jasmine": "~2.0.1", "karma-jasmine-html-reporter": "^1.4.0", "protractor": "~5.4.0", "ts-node": "~7.0.0", "tslint": "~5.15.0", "typescript": "~3.4.3" },

DuaneQ avatar Apr 17 '21 20:04 DuaneQ

@DuaneQ have you found a solution to this? I'm on 8.5.1 and I'm considering upgrading to 8.5.2 but I'd like to avoid this if possible. Does the problem happen for you on 8.5.1?

CodeWithOz avatar Apr 22 '21 17:04 CodeWithOz

I had to remove Google + from iOS. There's no solution

DuaneQ avatar Apr 22 '21 17:04 DuaneQ

It doesn't happen with cordova-ios 5.1.x but you may not get your app in the app store as a result of UIWebView issues.

DuaneQ avatar Apr 22 '21 17:04 DuaneQ

Yikes, that's very scary. Were you able to diagnose the exact problem? Was it a dependency or something in the code?

CodeWithOz avatar Apr 22 '21 17:04 CodeWithOz

Nope. Several other people have reported the issue.

DuaneQ avatar Apr 22 '21 19:04 DuaneQ

@EddyVerbruggen Have you come across this issue, maybe with a workaround?

tryhardest avatar Apr 22 '21 23:04 tryhardest

warning: Insecure world writable dir /Users/anonymous/project/app-name-v5/node_modules/.bin in PATH, mode 040757

This error comes from Cocoapods, or to be more specific, Ruby. This has nothing to do with this plugin, and everything with your folder access rights.

As the warning (but cocoapods treats it as error) says, the folder "/Users/anonymous/project/app-name-v5/node_modules/.bin" is world writable. In your case, that folder is writable both by the owner (which is OK), not writable by group, and writable by "everyone". Solution for your error message is: chmod 0755 /Users/anonymous/project/app-name-v5/node_modules/.bin Obviously you need to be the owner of said folder.

If the folder is shared between multiple users, then unfortunately you have a problem, because Ruby doesn't support that, and CocoaPods is a ruby application, and many Cordova iOS plugins depend on CocoaPods now.

faugusztin avatar Apr 23 '21 07:04 faugusztin

It's most likely a CocoaPods dependencies conflict. Try removing and reinstalling plugin with --verbose flag and look in the log for something like this example that i had in one of my projects:

GoogleUtilities/Environment (= 6.7.2, ~> 6.7)

  In Podfile:
    Firebase/Messaging (~> 6.32.2) was resolved to 6.32.2, which depends on
      FirebaseMessaging (~> 4.6.2) was resolved to 4.6.2, which depends on
        GoogleUtilities/Environment (~> 6.7)

    GoogleUtilities (~> 7.2.2) was resolved to 7.2.2, which depends on
      GoogleUtilities/Environment (= 7.2.2)

in this example, other plugins i used depends on FirebaseMessaging that has a dependency of GoogleUtilities/Environment (~> 6.7) while current version of this plugin uses GoogleUtilities (~> 7.2.2) . I solved it by using GoogleUtilities (~> 6.7) for this plugin instead of GoogleUtilities (~> 7.2.2).

I've created fork #737 that you can use to change this plugin's GoogleUtilities version by using a variable in the installation command. For the same example above, the command looks like this:

$ cordova plugin add https://github.com/Sherifabdulmawla/cordova-plugin-googleplus --save --variable REVERSED_CLIENT_ID=myreversedclientid --variable IOS_GOOGLEUTILITIES_VERSION="~> 6.7"

Once my fork is merged, you can replace my fork's url with cordova-plugin-googleplus

Sherifabdulmawla avatar May 11 '21 07:05 Sherifabdulmawla

@Sherifabdulmawla Thank you so much! For me, the build was failing with FCM and google plus plugins. With your fork, everything works perfectly!

matfeinikolaev avatar Jun 04 '21 00:06 matfeinikolaev

It's most likely a CocoaPods dependencies conflict. Try removing and reinstalling plugin with --verbose flag and look in the log for something like this example that i had in one of my projects:

GoogleUtilities/Environment (= 6.7.2, ~> 6.7)

  In Podfile:
    Firebase/Messaging (~> 6.32.2) was resolved to 6.32.2, which depends on
      FirebaseMessaging (~> 4.6.2) was resolved to 4.6.2, which depends on
        GoogleUtilities/Environment (~> 6.7)

    GoogleUtilities (~> 7.2.2) was resolved to 7.2.2, which depends on
      GoogleUtilities/Environment (= 7.2.2)

in this example, other plugins i used depends on FirebaseMessaging that has a dependency of GoogleUtilities/Environment (~> 6.7) while current version of this plugin uses GoogleUtilities (~> 7.2.2) . I solved it by using GoogleUtilities (~> 6.7) for this plugin instead of GoogleUtilities (~> 7.2.2).

I've created fork #737 that you can use to change this plugin's GoogleUtilities version by using a variable in the installation command. For the same example above, the command looks like this:

$ cordova plugin add https://github.com/Sherifabdulmawla/cordova-plugin-googleplus --save --variable REVERSED_CLIENT_ID=myreversedclientid --variable IOS_GOOGLEUTILITIES_VERSION="~> 6.7"

Once my fork is merged, you can replace my fork's url with cordova-plugin-googleplus

You are awesome my friend! Shame that your PR is still not merged.

VishwasShashidhar avatar Oct 20 '21 11:10 VishwasShashidhar

I'm also facing the same issue. for me the conflict is with @capacitor-community/firebase-crashlytics . related issue: https://github.com/capacitor-community/firebase-crashlytics/issues/55 This is my reproducible version: https://gitlab.com/ghonche/exampleapp Just clone the repository, run ionic cap sync to see the error.

✖ Updating iOS native dependencies with pod install - failed! ✖ update ios - failed! [error] Analyzing dependencies [!] CocoaPods could not find compatible versions for pod "FirebaseCore": In Podfile: CapacitorCommunityFirebaseCrashlytics (from ../../node_modules/@capacitor-community/firebase-crashlytics) was resolved to 1.2.1, which depends on Firebase/Crashlytics (= 8.4.0) was resolved to 8.4.0, which depends on Firebase/CoreOnly (= 8.4.0) was resolved to 8.4.0, which depends on FirebaseCore (= 8.4.0) CapacitorCommunityFirebaseCrashlytics (from ../../node_modules/@capacitor-community/firebase-crashlytics) was resolved to 1.2.1, which depends on Firebase/Crashlytics (= 8.4.0) was resolved to 8.4.0, which depends on FirebaseCrashlytics (~ > 8.4.0) was resolved to 8.4.0, which depends on FirebaseCore (~ > 8.0) CocoaPods could not find compatible versions for pod "GoogleUtilities/Logger": In Podfile: CapacitorCommunityFirebaseCrashlytics (from ../../node_modules/@capacitor-community/firebase-crashlytics) was resolved to 1.2.1, which depends on Firebase/Crashlytics (= 8.4.0) was resolved to 8.4.0, which depends on Firebase/CoreOnly (= 8.4.0) was resolved to 8.4.0, which depends on FirebaseCore (= 8.4.0) was resolved to 8.4.0, which depends on GoogleUtilities/Logger (~ > 7.4) CordovaPluginsStatic (from ../capacitor-cordova-ios-plugins) was resolved to 3.4.0, which depends on GoogleUtilities (~ > 7.2.2) was resolved to 7.2.2, which depends on GoogleUtilities/Logger (= 7.2.2)

ghonche avatar Jan 27 '22 10:01 ghonche

Any one tried https://github.com/CodetrixStudio/CapacitorGoogleAuth as an alternative?

ghonche avatar Jan 27 '22 10:01 ghonche