Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 623
Subjective Effect Avatar asked Sep 20 '15 22:09

Subjective Effect


2 Answers

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.

like image 73
Fridjon Gudjohnsen Avatar answered Oct 20 '22 00:10

Fridjon Gudjohnsen


bower complains that you're running it as root, which is usually a bad practice. you need to run it as "bower --allow-root".

like image 30
ilj Avatar answered Oct 19 '22 23:10

ilj