Ian Wise
Ian Wise

Reputation: 766

NPM cannot install module, permission denied with mkdir

I am attempting to globally install the electron module with npm on OS X Sierra. When I run

sudo npm install electron -g

I get

/usr/local/bin/electron -> /usr/local/lib/node_modules/electron/cli.js

> [email protected] postinstall /usr/local/lib/node_modules/electron
> node install.js

/usr/local/lib/node_modules/electron/install.js:48
  throw err
  ^

Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/electron/dist'
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node install.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/ianwise/.npm/_logs/2017-08-10T22_16_42_927Z-debug.log

The problem seems to be a permission denied when npm runs mkdir... But I'm running this with sudo, so why is this a problem?

Upvotes: 1

Views: 3268

Answers (2)

Mahendra Pratap
Mahendra Pratap

Reputation: 3613

I think you're running as root. run the following command.

npm config set unsafe-perm true

sudo npm install electron -g

Upvotes: 5

AnotherLongUsername
AnotherLongUsername

Reputation: 101

I had exactly the same issue with electron.

Assuming you have checked that the relevant directories are writable with:

$ ls -l

In the end I tried without sudo and it worked...!

$ npm install electron -g

The process completed with a message saying:

npm notice created a lockfile as package-lock.json. You should commit this file.

I just deleted the package-lock.json file

For me, the process also completed with a message saying:

npm update check failed

I followed the instructions at Ubuntu: npm update failed to fix this

Upvotes: 0

Related Questions