Global installation of grunt.js fails
gruntjs, javascript, node.js, npm
Solution
I've had this problem too with grunt and bower
The solution I've found is in this article NPM config
In your .npmrc you need to set the prefix path
prefix = /usr/local
or you can do it from terminal like this:
npm config set prefix "/usr/local"
This way node will know where to install them:
In npm 1.0, there are two ways to install things:
globally —- This drops modules in {prefix}/lib/node_modules, and puts executable files in {prefix}/bin, where {prefix} is usually something like /usr/local. It also installs man pages in {prefix}/share/man, if they’re supplied.
locally —- This installs your package in the current working directory. Node modules go in ./node_modules, executables go in ./node_modules/.bin/, and man pages aren’t installed at all.
Problem
I could install `gruntjs` locally using `npm install grunt`. But when I'm trying to install it globally `npm install grunt -g`, i'm getting an error: ``` npm ERR! Error: EACCES, symlink '../lib/node_modules/grunt/bin/grunt' npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! npm ERR! System Linux 2.6.18-92.el5xen npm ERR! command "nodejs" "/usr/bin/npm" "install" "grunt" "-g" npm ERR! cwd /home/lj npm ERR! node -v v0.6.18 npm ERR! npm -v 1.1.19 npm ERR! path ../lib/node_modules/grunt/bin/grunt npm ERR! code EACCES npm ERR! message EACCES, symlink '../lib/node_modules/grunt/bin/grunt' npm ERR! errno {} npm ERR! Error: EACCES, open 'npm-debug.log' npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! npm ERR! System Linux 2.6.18-92.el5xen npm ERR! command "nodejs" "/usr/bin/npm" "install" "grunt" "-g" npm ERR! cwd /home/lj npm ERR! node -v v0.6.18 npm ERR! npm -v 1.1.19 npm ERR! path npm-debug.log npm ERR! code EACCES npm ERR! message EACCES, open 'npm-debug.log' npm ERR! errno {} npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /home/lj/npm-debug.log npm not ok ``` With `sudo` I have error too: ``` npm ERR! Error: spawn ENOENT npm ERR! at errnoException (child_process.js:483:11) npm ERR! at ChildProcess.spawn (child_process.js:446:11) npm ERR! at child_process.js:342:9 npm ERR! at Object.execFile (child_process.js:252:15) npm ERR! at uidNumber (/usr/lib/nodejs/uid-number/uid-number.js:33:17) npm ERR! at loadUid (/usr/lib/nodejs/npm/lib/npm.js:336:5) npm ERR! at Array.2 (/usr/lib/nodejs/bind-actor.js:15:8) npm ERR! at LOOP (/usr/lib/nodejs/chain.js:15:13) npm ERR! at /usr/lib/nodejs/chain.js:18:7 npm ERR! at setUser (/usr/lib/nodejs/npm/lib/npm.js:346:32) npm ERR! You may report this log at: npm ERR! <http://github.com/isaacs/npm/issues> npm ERR! or email it to: npm ERR! <npm-@googlegroups.com> npm ERR! npm ERR! System Linux 2.6.18-92.el5xen npm ERR! command "nodejs" "/usr/bin/npm" "install" "grunt" "-g" npm ERR! cwd /home/lj npm ERR! node -v v0.6.18 npm ERR! npm -v 1.1.19 npm ERR! syscall spawn npm ERR! code ENOENT npm ERR! message spawn ENOENT npm ERR! errno {} npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /home/lj/npm-debug.log npm not ok ``` What could I do to install it? P.S. It's possible that come rights for some folders is for `root:root`, not for my user. Cuz our admins installed VM that way...