Search code examples
angularjspluginsionic-frameworkngcordova

ngCordova bower error - any ideas how to fix?


I've tried to make sure I'm using the latest version as my ngCordova media plugin isn't working for some reason.

I get this error:

npm WARN locking Error: EACCES, open '/Users/SubjectiveEffect/.npm/_locks/bower-e8debc5417026b57.lock'
npm WARN locking     at Error (native)
npm WARN locking  /Users/SubjectiveEffect/.npm/_locks/bower-e8debc5417026b57.lock failed { [Error: EACCES, open '/Users/SubjectiveEffect/.npm/_locks/bower-e8debc5417026b57.lock']
npm WARN locking   errno: -13,
npm WARN locking   code: 'EACCES',
npm WARN locking   path: '/Users/SubjectiveEffect/.npm/_locks/bower-e8debc5417026b57.lock' }
npm ERR! Darwin 14.5.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "bower"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3

npm ERR! Attempt to unlock /usr/local/lib/node_modules/bower, which hasn't been locked
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/SubjectiveEffect/myApp/npm-debug.log

I've no idea how to fix this.

Anyone any ideas?

Edit: I did some tidying up, uninstalled and reinstalled. I'm now getting this error when I try "bower install ngCordova"

"bower cached git://github.com/driftyco/ng-cordova.git#0.1.12-alpha
bower validate 0.1.12-alpha against git://github.com/driftyco/ng-cordova.git#*
bower ECMDERR Failed to execute "git ls-remote --tags --heads        git://github.com/driftyco/ng-cordova.git", exit code of #69 Agreeing to the    Xcode/iOS license requires admin privileges, please re-run as root via sudo.

Additional error details:
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo."

But if I try to run it with sudo I get told:

"bower ESUDO Cannot be run with sudo

Additional error details:
 Since bower is a user command, there is no need to execute it with superuser permissions.
If you're having permission errors when using bower without sudo, please spend a few minutes learning more about how your system should work and make any necessary repairs."

Any ideas?


Solution

  • The error is stating problems accepting Xcode/iOS license agreement which is a dependency of cordova (to get iOS emulation working).

    I guess that Xcode has already been installed by npm/bower, you just need to open it for the first time (Cmd-Space, then type Xcode) to accept the license agreement, then rerun bower install ngCordova.

    If Xcode is not yet installed, it is probably less of a hassle to install it manually (see here for details), open it once and rerun bower install ngCordova.

    BTW, ilj is right, it is usually a bad practice to run npm or bower under sudo. This leads to all sorts of worm cans.