npm install failing

10,448

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/

Share:
10,448
Danny
Author by

Danny

Front end developer. Fitness nerd. I think JavaScript is neat.

Updated on July 29, 2022

Comments

  • Danny
    Danny almost 2 years

    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