8

I'll start off by saying that I have next to no experience working in terminal or with node.js.

Coworker left for vacation and I'm trying to follow instructions he left for setting up his app on our demo server. I can get everything running locally, but am running into issues on the server installing socket.io module.

Installed python, installed nodejs, both successful. But then I issue the command:

npm install -g socket.io 

And the output I get is:

npm http GET https://registry.npmjs.org/socket.io npm http 304 https://registry.npmjs.org/socket.io npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/socket.io' npm ERR! { [Error: EACCES, mkdir '/usr/local/lib/node_modules/socket.io'] npm ERR! errno: 3, npm ERR! code: 'EACCES', npm ERR! path: '/usr/local/lib/node_modules/socket.io', npm ERR! fstream_type: 'Directory', npm ERR! fstream_path: '/usr/local/lib/node_modules/socket.io', npm ERR! fstream_class: 'DirWriter', npm ERR! fstream_stack: npm ERR! [ 'DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23)', npm ERR! '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53', npm ERR! 'Object.oncomplete (fs.js:297:15)' ] } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! System Linux 2.6.32-279.el6.x86_64 npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "socket.io" npm ERR! cwd /home/qa npm ERR! node -v v0.8.16 npm ERR! npm -v 1.1.69 npm ERR! path /usr/local/lib/node_modules/socket.io npm ERR! fstream_path /usr/local/lib/node_modules/socket.io npm ERR! fstream_type Directory npm ERR! fstream_class DirWriter npm ERR! code EACCES npm ERR! errno 3 npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/socket.io' npm ERR! fstream_stack DirWriter._create (/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23) npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53 npm ERR! fstream_stack Object.oncomplete (fs.js:297:15) npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /home/qa/npm-debug.log npm ERR! not ok code 0 

The account I'm on should have admin privileges. Googling around I found some suggestions but none seemed to work for me. Tried prepending command with sudo but get:

[qa@umr-demo ~]sudo npm install -g socket.io [sudo] password for qa: sudo: npm: command not found 
1
  • What does which npm output when you type it? Commented Dec 20, 2012 at 2:00

2 Answers 2

20

I have the same error if not privileged, so I must use sudo when using the -g flag

If sudo don't recongize npm you can try:

  • passing the complete route of npm

    $ sudo $(which npm) install -g socket.io 
  • preserving the environment with -E flag

    $ sudo -E npm install -g socket.io 

Upd:

Note that is recommended to use the -g flag only for executables and install locally (without the flag) the libraries that are required in your code. Privileges are required for copying the executables to /usr/bin or, in your case /usr/local/bin

Note too that in the socket.io site, the -g flag is not included for the installation command ;)

Read more: http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

Sign up to request clarification or add additional context in comments.

Comments

0

If you are on Arch Linux, check out the npm2arch package in the AUR. It will let you install npm packages using pacman.

Example:

npm2archinstall socket.io 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.