Skip to content

TNS Doctor should check CocoaPods/Ruby version #1294

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
burkeholland opened this issue Dec 2, 2015 · 8 comments
Closed

TNS Doctor should check CocoaPods/Ruby version #1294

burkeholland opened this issue Dec 2, 2015 · 8 comments
Milestone

Comments

@burkeholland
Copy link

I noticed that Ruby can wreak absolute havoc on a project when using CocoaPods. The wrong version (< 2.0.0) will throw cryptic errors that make people feel sad.

It would be nice if TNS doctor could...

  1. Detect existence of CocoaPods (Mac only of course)
  2. Detect version of Ruby and warn if the version is known to be incompatible
@burkeholland
Copy link
Author

Why can't I add a label to this issue? GitHubbing is hard.

@teobugslayer
Copy link
Contributor

@burkeholland,

We generally avoid to deal with dependencies of dependencies, because once you start this way, there's no end. CocoaPods site clearly states that CocoaPods is built with Ruby and is installable with the default Ruby available on OS X. We recommend you use the default ruby. We cannot guarantee that we or our dependencies work on broken machines.

Otherwise, we check for CocoaPods existence: https://github.com/NativeScript/nativescript-cli/blob/master/lib/services/doctor-service.ts#L49

@burkeholland
Copy link
Author

Understood. However, let me provide the feedback that as a developer, I would have bailed on this endeavor and would have mentally blamed {N} out of ignorance. I'm convinced that our ability to smooth our the developer experience is paramount. Throwing cryptic errors about sandbox-pod and then expecting the developer to figure it out on their own is going to cause abandonment.

Maybe we could provide better error handling in the build where pods are added?

@hshristov
Copy link

tns doctor did not show me that I was missing pod. It throws exception that ANDROID_HOME is not set correctly although I was using tns emulate ios

@teobugslayer
Copy link
Contributor

I agree that we must check whether CocoaPods works robustly. I disagree that checking for particular version of Ruby brings value, because there can be millions of others issues which prevents CocoaPods from working. Imho, a better approach is to add a dummy pod into a dummy project and see if everything works. But this may not be easily doable.

@teobugslayer
Copy link
Contributor

@hshristov, this was fixed in 4834e80 and is included in the upcoming CLI 1.5.2 release.

@teobugslayer teobugslayer added this to the 1.6.0 (Under consideration) milestone Dec 10, 2015
@hshristov
Copy link

@teobugslayer, Great.

Thanks

teobugslayer added a commit that referenced this issue Jan 8, 2016
teobugslayer added a commit that referenced this issue Jan 8, 2016
teobugslayer added a commit to telerik/mobile-cli-lib that referenced this issue Jan 11, 2016
teobugslayer added a commit to Icenium/icenium-cli that referenced this issue Jan 11, 2016
teobugslayer added a commit to telerik/mobile-cli-lib that referenced this issue Jan 11, 2016
teobugslayer added a commit to Icenium/icenium-cli that referenced this issue Jan 11, 2016
teobugslayer added a commit to Icenium/icenium-cli that referenced this issue Jan 11, 2016
teobugslayer added a commit that referenced this issue Jan 11, 2016
teobugslayer added a commit that referenced this issue Jan 11, 2016
teobugslayer added a commit that referenced this issue Jan 11, 2016
teobugslayer added a commit that referenced this issue Jan 11, 2016
teobugslayer added a commit that referenced this issue Jan 11, 2016
@dtopuzov
Copy link
Contributor

Now doctor get iOS runtime and build a project to check cocoapods.

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

No branches or pull requests

4 participants