Prevent permission errors at installation

If you see an EACCES error when you try to install a lumber-cli globally, follow this tutorial.

Prevent permission errors at installation

Depending on how you've installed Node.js on your system, you could encounter a permissions error EACCES similar to the following output.

In this case, I got the error on a EC2 instance running on Ubuntu 10.04 with Node v8.10.0 and NPM v.3.5.2. But you can have this similar problem on another system and node version.

npm ERR! Linux 4.15.0-1021-aws
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "lumber-cli" "--save"
npm ERR! node v8.10.0
npm ERR! npm  v3.5.2
npm ERR! path /usr/local/lib
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access

npm ERR! Error: EACCES: permission denied, access '/usr/local/lib'
npm ERR!  { Error: EACCES: permission denied, access '/usr/local/lib'
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/ubuntu/npm-debug.log

The problem is because NPM does not have the write access to the directory that will contain the package you want to install (here lumber-cli).

To solve this issue, we recommend to override the default directory where your global NPM packages will be stored.

mkdir ~/.npm-global

Then, configure NPM to use this directory instead of the default one:

npm config set prefix '~/.npm-global'

Then, make the node executables accessible from your PATH. To do so, export the environment variable PATH by opening or creating the file ~/.profile and add this line at the end:

~/.profile
export PATH=~/.npm-global/bin:$PATH

Finally, reload the ~/.profile file:

source ~/.profile

That's it, now you should be able to install lumber without any error 🎉

npm install -g lumber-cli

Last updated

Was this helpful?