Skip to content

Can't build ios project is cocoapods is not installed #1674

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
nikolay-diyanov opened this issue Apr 11, 2016 · 2 comments
Closed

Can't build ios project is cocoapods is not installed #1674

nikolay-diyanov opened this issue Apr 11, 2016 · 2 comments
Assignees
Labels
Milestone

Comments

@nikolay-diyanov
Copy link

nikolay-diyanov commented Apr 11, 2016

Hi guys,

I have the following setups:
NativeScript 1.7.1
Node 4.4.2
Xcode 7.3

I am trying to build a simple ios project created with tns create testproject. But I am getting this error:

Command failed: /bin/sh -c ruby -e "require 'xcodeproj'; Xcodeproj::Config.new('/Users/diyanov/Desktop/testproj/platforms/ios/plugins-debug.xcconfig').merge(Xcodeproj::Config.new('/Users/diyanov/Desktop/testproj/app/App_Resources/iOS/build.xcconfig')).save_as(Pathname.new('/Users/diyanov/Desktop/testproj/platforms/ios/plugins-debug.xcconfig'))"
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require': cannot load such file -- xcodeproj (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:inrequire'
from -e:1:in `

'

Interestingly, after I install cocoapods, the error does not appear anymore and the build is successful. But the default NativeScript project does not use cocoapods (??).

Here is the full stack trace:

The ANDROID_HOME environment variable is not set or it points to a non-existent directory. You will not be able to perform any build-related operations for Android.
To be able to perform Android build-related operations, set the ANDROID_HOME variable to point to the root of your Android SDK installation directory.

ANDROID_HOME environment variable is not set correctly.
Exec uname -a
stdout: Darwin mcsofdiyanov 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64

stderr:
Exec npm -v
stdout: 2.15.1

stderr:
spawn: java "-version"
Exec node-gyp -v
stdout:
stderr: /bin/sh: node-gyp: command not found

Exec xcodebuild -version
stdout: Xcode 7.3
Build version 7D175

stderr:
Exec pod --version
stdout:
stderr: /bin/sh: pod: command not found

Exec null version
stdout:
stderr: /bin/sh: null: command not found

Exec mono --version
stdout:
stderr: /bin/sh: mono: command not found

Exec git --version
stdout: git version 2.6.4 (Apple Git-63)

stderr:
Exec gradle -v
stdout:
stderr: /bin/sh: gradle: command not found

Exec "javac" -version
stdout:
stderr: javac 1.7.0_79

System information:
{ procInfo: 'nativescript/1.7.1',
platform: 'darwin',
os: 'Darwin mcsofdiyanov 15.4.0 Darwin Kernel Version 15.4.0: Fri Feb 26 22:08:05 PST 2016; root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64\n',
shell: '/bin/bash',
dotNetVer: null,
procArch: 'x64',
nodeVer: 'v4.4.2',
npmVer: '2.15.1',
javaVer: '1.7.0',
nodeGypVer: null,
xcodeVer: 'Xcode 7.3\nBuild version 7D175\n',
itunesInstalled: true,
cocoapodVer: null,
adbVer: null,
androidInstalled: false,
monoVer: null,
gitVer: '2.6.4 (Apple Git-63)',
gradleVer: null,
javacVersion: '1.7.0_79' }
Initializing analytics statuses.
Analytics statuses:
{ TrackFeatureUsage: 0, TrackExceptions: 0 }
Trying to track feature 'CLI' with value 'build'.
AnalyticsInstallationID: 0f3fe390-24ca-4667-964c-f0e24d21ac3f
monitor not started
monitor not started
monitor not started
monitor has started, connecting to http://5752dabccfc54c4ab82aea9626b7338e.monitor-eqatec.com/json.ashx
Analytics statuses:
{ TrackFeatureUsage: 0, TrackExceptions: 0 }
Trying to track feature 'NodeJSVersion' with value '4_4_2'.
Statistics was sent successfully (xhr).
Statistics was sent successfully (xhr).
Statistics was sent successfully (xhr).
spawn: adb "version"
spawn: /var/folders/dg/17zmy3b90jg61pb9f4chs875nw4zyl/T/telerik-common-lib-0.4.1/adb "start-server"
Result when throw error is false:
{ stdout: '', stderr: '', exitCode: 0 }
Looking for project in '/Users/diyanov/Desktop/testproj'
Project directory is '/Users/diyanov/Desktop/testproj'.
Analytics statuses:
{ TrackFeatureUsage: 0, TrackExceptions: 0 }
Trying to track feature 'CLI' with value 'build|ios'.
Statistics was sent successfully (xhr).
Hooks directories: [ '/usr/local/lib/node_modules/nativescript/lib/hooks',
'/usr/local/lib/node_modules/nativescript/lib/common/hooks',
'/Users/diyanov/Desktop/testproj/hooks' ]
BeforeHookName for command prepare is before-prepare
Images from Xcode project
[ '[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'Default-Landscape.png',
'[email protected]',
'[email protected]',
'Default-Portrait.png',
'[email protected]',
'Default.png',
'[email protected]',
'Icon-Small-50.png',
'[email protected]',
'Icon-Small.png',
'[email protected]',
'build.xcconfig',
'icon-40.png',
'[email protected]',
'icon-60.png',
'[email protected]',
'icon-72.png',
'[email protected]',
'icon-76.png',
'[email protected]',
'icon.png',
'[email protected]' ]
Current images from App_Resources
[ '[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'[email protected]',
'Default-Landscape.png',
'[email protected]',
'[email protected]',
'Default-Portrait.png',
'[email protected]',
'Default.png',
'[email protected]',
'Icon-Small-50.png',
'[email protected]',
'Icon-Small.png',
'[email protected]',
'build.xcconfig',
'icon-40.png',
'[email protected]',
'icon-60.png',
'[email protected]',
'icon-72.png',
'[email protected]',
'icon-76.png',
'[email protected]',
'icon.png',
'[email protected]' ]
New images to add into xcode project:
Images to remove from xcode project:
Info.plist: Start
Info.plist: Patch 'app/App_Resources/iOS/Info.plist'
Info.plist: Patch 'CFBundleIdentifier from package.json nativescript.id'
Info.plist: Complete
Info.plist: Write to: /Users/diyanov/Desktop/testproj/platforms/ios/testproj/testproj-Info.plist
Exec ruby -e "require 'xcodeproj'; Xcodeproj::Config.new('/Users/diyanov/Desktop/testproj/platforms/ios/plugins-debug.xcconfig').merge(Xcodeproj::Config.new('/Users/diyanov/Desktop/testproj/app/App_Resources/iOS/build.xcconfig')).save_as(Pathname.new('/Users/diyanov/Desktop/testproj/platforms/ios/plugins-debug.xcconfig'))"
stdout:
stderr: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require': cannot load such file -- xcodeproj (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:inrequire'
from -e:1:in `

'

Error: Command failed: /bin/sh -c ruby -e "require 'xcodeproj'; Xcodeproj::Config.new('/Users/diyanov/Desktop/testproj/platforms/ios/plugins-debug.xcconfig').merge(Xcodeproj::Config.new('/Users/diyanov/Desktop/testproj/app/App_Resources/iOS/build.xcconfig')).save_as(Pathname.new('/Users/diyanov/Desktop/testproj/platforms/ios/plugins-debug.xcconfig'))"
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require': cannot load such file -- xcodeproj (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:inrequire'
from -e:1:in <main>' : Command failed: /bin/sh -c ruby -e "require 'xcodeproj'; Xcodeproj::Config.new('/Users/diyanov/Desktop/testproj/platforms/ios/plugins-debug.xcconfig').merge(Xcodeproj::Config.new('/Users/diyanov/Desktop/testproj/app/App_Resources/iOS/build.xcconfig')).save_as(Pathname.new('/Users/diyanov/Desktop/testproj/platforms/ios/plugins-debug.xcconfig'))" at FiberFuture.Future.wait (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:535:15) at /usr/local/lib/node_modules/nativescript/lib/common/errors.js:123:33 at Function.settle (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:249:26) at FiberFuture.Future.wait (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:534:10) at /usr/local/lib/node_modules/nativescript/lib/common/services/commands-service.js:84:106 at Function.settle (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:249:26) at FiberFuture.Future.wait (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:534:10) at /usr/local/lib/node_modules/nativescript/lib/common/yok.js:208:124 at Function.settle (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:249:26) at FiberFuture.Future.wait (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:534:10) at /usr/local/lib/node_modules/nativescript/lib/common/services/commands-service.js:51:55 at Function.settle (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:249:26) at FiberFuture.Future.wait (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:534:10) at /usr/local/lib/node_modules/nativescript/lib/common/errors.js:123:33 at Function.settle (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:249:26) at FiberFuture.Future.wait (/usr/local/lib/node_modules/nativescript/node_modules/fibers/future.js:534:10) - - - - - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:inrequire': cannot load such file -- xcodeproj (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from -e:1:in

'

at ChildProcess.exithandler (child_process.js:213:12)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:172:7)
at maybeClose (internal/child_process.js:827:16)
at Socket.<anonymous> (internal/child_process.js:319:11)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at Pipe._onclose (net.js:477:12)

Analytics statuses:
{ TrackFeatureUsage: 0, TrackExceptions: 0 }
Trying to track feature 'CLI' with value 'help'.
Statistics was sent successfully (xhr).
List of registered commands: /?, appstore, appstore|upload, autocomplete, autocomplete|disable, autocomplete|enable, autocomplete|status, build, build|android, build|ios, create, debug, debug|android, debug|ios, deploy, dev-generate-help, dev-generate-messages, dev-post-install, dev-preuninstall, dev-test, dev-test|android, dev-test|ios, device, device|android, device|get-file, device|ios, device|list-applications, device|list-files, device|log, device|put-file, device|run, device|stop, device|uninstall, doctor, emulate, emulate|android, emulate|ios, error-reporting, help, init, install, livesync, platform, platform|add, platform|remove, platform|update, plugin, plugin|add, plugin|remove, prepare, publish, publish|ios, run, run|android, run|ios, test, test|android, test|init, test|ios, usage-reporting
Reading help for command 'build|ios'. FileName is 'build-ios.md'.

build ios

┌─────────┬────────────────────────────────────────────────────────────────────┐
│ Usage │ Synopsis │
│ General │ $ tns build ios [--for-device] [--release] [--copy-to ] │
└─────────┴────────────────────────────────────────────────────────────────────┘

Builds the project for iOS and produces an APP or IPA that you can manually deploy in the iOS Simulator or on device, respectively.

IMPORTANT: Before building for iOS device, verify that you have configured a valid pair of certificate and provisioning profile on your OS X system.

Options

* --release - If set, produces a release build. Otherwise, produces a debug build.
* --for-device - If set, produces an application package that you can deploy on device. Otherwise, produces a build that you can run only in the native iOS Simulator.
* --copy-to - Specifies the file path where the built .ipa will be copied. If it points to a non-existent directory, it will be created. If the specified value is directory, the original file name will be used.

Analytics statuses:
{ TrackFeatureUsage: 0, TrackExceptions: 0 }
Trying to track exception with message 'Command failed: /bin/sh -c ruby -e "require 'xcodeproj'; Xcodeproj::Config.new('/Users/diyanov/Desktop/testproj/platforms/ios/plugins-debug.xcconfig').merge(Xcodeproj::Config.new('/Users/diyanov/Desktop/testproj/app/App_Resources/iOS/build.xcconfig')).save_as(Pathname.new('/Users/diyanov/Desktop/testproj/platforms/ios/plugins-debug.xcconfig'))"
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require': cannot load such file -- xcodeproj (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:inrequire'
from -e:1:in `

'
'.
Statistics was sent successfully (xhr).

Best,
Niki D.

@Mitko-Kerezov
Copy link
Contributor

@nikolay-diyanov
The problem actually derives from the fact that you don't have the gem xcodeproj installed on your machine. This gem is a dependency of the cocoapods gem, hence by installing Cocoa Pods you get the side effect of a working build.

Seems like at this point we can't do without the xcodeproj gem so we'll add it as a requirement

@dtopuzov
Copy link
Contributor

Now tns doctor detect such problems.

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

No branches or pull requests

3 participants