Cannot install ios-sim

Hi…

I’m new at using Ionic, and as I’ve seen some others experience, I’m unable to install ios-sim. I’m on Mavericks with only xcode 5 (no xcode 4 available). I run

sudo npm install -g ios-sim

Then a bunch of compiling begins and it fails with the following:

** BUILD FAILED **


The following build commands failed:
	Ld build/ios-sim.build/Release/ios-sim.build/Objects-normal/x86_64/ios-sim normal x86_64
	Ld build/ios-sim.build/Release/ios-sim.build/Objects-normal/i386/ios-sim normal i386
(2 failures)
rake aborted!
Command failed with status (65): [xcodebuild -project ios-sim.xcodeproj -con...]
/usr/local/lib/node_modules/ios-sim/Rakefile:7:in `block in <top (required)>'
Tasks: TOP => build
(See full trace by running task with --trace)
npm ERR! ios-sim@1.8.2 preinstall: `rake build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ios-sim@1.8.2 preinstall script.
npm ERR! This is most likely a problem with the ios-sim package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     rake build
npm ERR! You can get their info via:
npm ERR!     npm owner ls ios-sim
npm ERR! There is likely additional logging output above.

npm ERR! System Darwin 13.1.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "ios-sim"
npm ERR! cwd /Users/Greg/Temp/ionic/ionic-angular-cordova-seed
npm ERR! node -v v0.10.22
npm ERR! npm -v 1.3.14
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/Greg/Temp/ionic/ionic-angular-cordova-seed/npm-debug.log
npm ERR! not ok code 0

I see that others have resolved the issue, but only by installing a billion things prior, with no idea what actually fixed the issue.

Any help here would be HUGELY appreciated! Thanks in advance!

Here’s the output from the “additional details” log:

0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'install', '-g', 'ios-sim' ]
2 info using npm@1.3.14
3 info using node@v0.10.22
4 verbose cache add [ 'ios-sim', null ]
5 verbose cache add name=undefined spec="ios-sim" args=["ios-sim",null]
6 verbose parsed url { protocol: null,
6 verbose parsed url   slashes: null,
6 verbose parsed url   auth: null,
6 verbose parsed url   host: null,
6 verbose parsed url   port: null,
6 verbose parsed url   hostname: null,
6 verbose parsed url   hash: null,
6 verbose parsed url   search: null,
6 verbose parsed url   query: null,
6 verbose parsed url   pathname: 'ios-sim',
6 verbose parsed url   path: 'ios-sim',
6 verbose parsed url   href: 'ios-sim' }
7 silly lockFile 6af69284-ios-sim ios-sim
8 verbose lock ios-sim /Users/Greg/.npm/6af69284-ios-sim.lock
9 silly lockFile 6af69284-ios-sim ios-sim
10 silly lockFile 6af69284-ios-sim ios-sim
11 verbose addNamed [ 'ios-sim', '' ]
12 verbose addNamed [ null, '*' ]
13 silly lockFile 03dce7cc-ios-sim ios-sim@
14 verbose lock ios-sim@ /Users/Greg/.npm/03dce7cc-ios-sim.lock
15 silly addNameRange { name: 'ios-sim', range: '*', hasData: false }
16 verbose url raw ios-sim
17 verbose url resolving [ 'https://registry.npmjs.org/', './ios-sim' ]
18 verbose url resolved https://registry.npmjs.org/ios-sim
19 info trying registry request attempt 1 at 19:16:27
20 verbose etag "1YMM1RA95S7DSTFLAR86EK16H"
21 http GET https://registry.npmjs.org/ios-sim
22 http 304 https://registry.npmjs.org/ios-sim
23 silly registry.get cb [ 304,
23 silly registry.get   { date: 'Tue, 11 Mar 2014 01:16:27 GMT',
23 silly registry.get     server: 'Apache',
23 silly registry.get     via: '1.1 varnish',
23 silly registry.get     'last-modified': 'Tue, 11 Mar 2014 01:16:27 GMT',
23 silly registry.get     'cache-control': 'max-age=1',
23 silly registry.get     etag: '"1YMM1RA95S7DSTFLAR86EK16H"',
23 silly registry.get     'x-served-by': 'cache-c32-CHI',
23 silly registry.get     'x-cache': 'MISS',
23 silly registry.get     'x-cache-hits': '0',
23 silly registry.get     'x-timer': 'S1394500587.487810373,VS0,VE97',
23 silly registry.get     vary: 'Accept',
23 silly registry.get     'content-length': '0',
23 silly registry.get     'keep-alive': 'timeout=10, max=50',
23 silly registry.get     connection: 'Keep-Alive' } ]
24 verbose etag ios-sim from cache
25 silly addNameRange number 2 { name: 'ios-sim', range: '*', hasData: true }
26 silly addNameRange versions [ 'ios-sim', [ '1.8.0', '1.8.1', '1.8.2' ] ]
27 verbose addNamed [ 'ios-sim', '1.8.2' ]
28 verbose addNamed [ '1.8.2', '1.8.2' ]
29 silly lockFile 6feb539f-ios-sim-1-8-2 ios-sim@1.8.2
30 verbose lock ios-sim@1.8.2 /Users/Greg/.npm/6feb539f-ios-sim-1-8-2.lock
31 silly lockFile 6feb539f-ios-sim-1-8-2 ios-sim@1.8.2
32 silly lockFile 6feb539f-ios-sim-1-8-2 ios-sim@1.8.2
33 silly lockFile 03dce7cc-ios-sim ios-sim@
34 silly lockFile 03dce7cc-ios-sim ios-sim@
35 silly resolved [ { name: 'ios-sim',
35 silly resolved     version: '1.8.2',
35 silly resolved     description: 'launch iOS apps into the iOS Simulator from the command line (Xcode 4)',
35 silly resolved     main: 'ios-sim',
35 silly resolved     scripts: { preinstall: 'rake build' },
35 silly resolved     bin: { 'ios-sim': 'build/Release/ios-sim' },
35 silly resolved     repository: { type: 'git', url: 'https://github.com/phonegap/ios-sim' },
35 silly resolved     keywords: [ 'ios-sim', 'iOS Simulator' ],
35 silly resolved     author: { name: 'Landon Fuller, Jeff Haynie, Eloy Duran, Shazron Abdullah' },
35 silly resolved     license: 'MIT',
35 silly resolved     readme: 'ios-sim\n=======\n\nThe ios-sim tool is a command-line utility that launches an iOS application on\nthe iOS Simulator. This allows for niceties such as automated testing without\nhaving to open XCode.\n\nFeatures\n--------\n\n* Choose the device family to simulate, i.e. iPhone or iPad.\n* Setup environment variables.\n* Pass arguments to the application.\n* See the stdout and stderr, or redirect them to files.\n\nSee the `--help` option for more info.\n\nInstallation\n------------\n\nThrough homebrew:\n\n    $ brew install ios-sim\n\nDownload an archive:\n\n    $ curl -L https://github.com/phonegap/ios-sim/zipball/1.8 -o ios-sim-1.8.zip\n    $ unzip ios-sim-1.8.zip\n\nOr from a git clone:\n\n    $ git clone git://github.com/phonegap/ios-sim.git\n\nThen build and install from the source root:\n\n    $ rake install prefix=/usr/local/\n\ntmux\n-----\n\nTo get ios-sim to launch correctly within tmux use the reattach-to-user-namespace wrapper.\n\n```\nreattach-to-user-namespace ios-sim launch ./build/MyTestApp.app\n```\n*source:* https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard\n\n*brew:*  ```brew install reattach-to-user-namespace```\n\nLicense\n-------\n\nOriginal author: Landon Fuller <landonf@plausiblelabs.com>\nCopyright (c) 2008-2011 Plausible Labs Cooperative, Inc.\nAll rights reserved.\n\nThis project is available under the MIT license. See [LICENSE][license].\n\n[license]: https://github.com/Fingertips/ios-sim/blob/master/LICENSE\n',
35 silly resolved     readmeFilename: 'README.md',
35 silly resolved     bugs: { url: 'https://github.com/phonegap/ios-sim/issues' },
35 silly resolved     homepage: 'https://github.com/phonegap/ios-sim',
35 silly resolved     _id: 'ios-sim@1.8.2',
35 silly resolved     _from: 'ios-sim@' } ]
36 info install ios-sim@1.8.2 into /usr/local/lib
37 info installOne ios-sim@1.8.2
38 info /usr/local/lib/node_modules/ios-sim unbuild
39 verbose tar unpack /Users/Greg/.npm/ios-sim/1.8.2/package.tgz
40 silly lockFile 5027580f-r-local-lib-node-modules-ios-sim tar:///usr/local/lib/node_modules/ios-sim
41 verbose lock tar:///usr/local/lib/node_modules/ios-sim /Users/Greg/.npm/5027580f-r-local-lib-node-modules-ios-sim.lock
42 silly lockFile b2865f02-eg-npm-ios-sim-1-8-2-package-tgz tar:///Users/Greg/.npm/ios-sim/1.8.2/package.tgz
43 verbose lock tar:///Users/Greg/.npm/ios-sim/1.8.2/package.tgz /Users/Greg/.npm/b2865f02-eg-npm-ios-sim-1-8-2-package-tgz.lock
44 silly gunzTarPerm modes [ '755', '644' ]
45 silly gunzTarPerm extractEntry package.json
46 silly gunzTarPerm extractEntry .npmignore
47 silly gunzTarPerm extractEntry README.md
48 silly gunzTarPerm extractEntry LICENSE
49 silly gunzTarPerm extractEntry README.template.md
50 silly gunzTarPerm extractEntry Rakefile
51 silly gunzTarPerm extractEntry iPhoneSimulatorRemoteClient/iPhoneSimulatorRemoteClient.h
52 silly gunzTarPerm extractEntry ios-sim.xcconfig
53 silly gunzTarPerm extractEntry ios-sim.xcodeproj/.npmignore
54 silly gunzTarPerm extractEntry ios-sim.xcodeproj/project.pbxproj
55 silly gunzTarPerm extractEntry ios-sim_Prefix.pch
56 silly gunzTarPerm extractEntry Source/.npmignore
57 silly gunzTarPerm extractEntry Source/NSString+expandPath.h
58 silly gunzTarPerm extractEntry Source/NSString+expandPath.m
59 silly gunzTarPerm extractEntry Source/iPhoneSimulator.h
60 silly gunzTarPerm extractEntry Source/iPhoneSimulator.m
61 silly gunzTarPerm extractEntry Source/main.m
62 silly gunzTarPerm extractEntry Source/nsprintf.h
63 silly gunzTarPerm extractEntry Source/nsprintf.m
64 silly gunzTarPerm extractEntry Source/version.h
65 silly lockFile 5027580f-r-local-lib-node-modules-ios-sim tar:///usr/local/lib/node_modules/ios-sim
66 silly lockFile 5027580f-r-local-lib-node-modules-ios-sim tar:///usr/local/lib/node_modules/ios-sim
67 silly lockFile b2865f02-eg-npm-ios-sim-1-8-2-package-tgz tar:///Users/Greg/.npm/ios-sim/1.8.2/package.tgz
68 silly lockFile b2865f02-eg-npm-ios-sim-1-8-2-package-tgz tar:///Users/Greg/.npm/ios-sim/1.8.2/package.tgz
69 info preinstall ios-sim@1.8.2
70 verbose unsafe-perm in lifecycle false
71 info ios-sim@1.8.2 Failed to exec preinstall script
72 info /usr/local/lib/node_modules/ios-sim unbuild
73 info preuninstall ios-sim@1.8.2
74 info uninstall ios-sim@1.8.2
75 verbose true,/usr/local/lib/node_modules,/usr/local/lib/node_modules unbuild ios-sim@1.8.2
76 verbose /usr/local/bin,[object Object] binRoot
77 info postuninstall ios-sim@1.8.2
78 error ios-sim@1.8.2 preinstall: `rake build`
78 error Exit status 1
79 error Failed at the ios-sim@1.8.2 preinstall script.
79 error This is most likely a problem with the ios-sim package,
79 error not with npm itself.
79 error Tell the author that this fails on your system:
79 error     rake build
79 error You can get their info via:
79 error     npm owner ls ios-sim
79 error There is likely additional logging output above.
80 error System Darwin 13.1.0
81 error command "node" "/usr/local/bin/npm" "install" "-g" "ios-sim"
82 error cwd /Users/Greg/Temp/ionic/ionic-angular-cordova-seed
83 error node -v v0.10.22
84 error npm -v 1.3.14
85 error code ELIFECYCLE
86 verbose exit [ 1, true ]

Does this help? http://shazronatadobe.wordpress.com/2014/03/12/xcode-5-1-and-cordova-ios/

Gross. Is there a reason you’re trying to install it as root?

Try this series of commands (if you don’t use Homebrew, make sure Node.js is up to date on your system however you installed it):
$ brew update
$ brew upgrade node
$ npm cache clear
$ npm install ios-sim -g

Also, ios-sim 1.9.0 fixes some issues with Xcode 5.1 if you’ve upgraded. It should install automatically after following the above.

If all else fails, you can try uninstalling and re-installing node without using sudo (I use Homebrew - $ brew install node) which sometimes fixes issues like this.

1 Like

This solved my issue with ios-sim:
git clone git://github.com/phonegap/ios-sim.git
cd ios-sim/
sudo rake install prefix=/usr/local

Got with npm install -g ios-sim following error message:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rake/application.rb:50:in `pwd’: Permission denied - getcwd (Errno::EACCES)

I had some problems with iOS-sim either. However, I’ve installed npm before without brew, so when I tried $ brew upgrade node, brew said that node was not installed. So I got the solution as follows:

Upgraded node:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

And then I did the last two steps pointed out by jough and worked for me.

$ npm cache clear
$ npm install ios-sim -g
1 Like

I think ios simulator is actually installed on this location

/Applications/Xcode/Contents/Developer/Applications/Simulator.app

Do you find it ?