Skip to content
This repository has been archived by the owner on May 30, 2023. It is now read-only.

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

Open
DuaneQ opened this issue Apr 17, 2021 · 13 comments

Comments

@DuaneQ
Copy link

DuaneQ commented Apr 17, 2021

`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"
},

@CodeWithOz
Copy link

@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?

@DuaneQ
Copy link
Author

DuaneQ commented Apr 22, 2021

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

@DuaneQ
Copy link
Author

DuaneQ commented Apr 22, 2021

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.

@CodeWithOz
Copy link

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

@DuaneQ
Copy link
Author

DuaneQ commented Apr 22, 2021

Nope. Several other people have reported the issue.

@tryhardest
Copy link

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

@faugusztin
Copy link

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.

@Sherifabdulmawla
Copy link

Sherifabdulmawla commented May 11, 2021

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

@matfeinikolaev
Copy link

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

@VishwasShashidhar
Copy link

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.

@ghonche
Copy link

ghonche commented Jan 27, 2022

I'm also facing the same issue. for me the conflict is with @capacitor-community/firebase-crashlytics .
related issue: capacitor-community/firebase-crashlytics#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
Copy link

ghonche commented Jan 27, 2022

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants