Jika anda menggunakan sistem operasi Linux atau Mac, mungkin anda pernah mengalami error npm error ./postinstall.js  - error storing binary to local file Error: EACCES: permission denied , padahal anda sudah menggunakan sudo atau root. Error ini dikarenakan pada saat script postinstall dijalankan, npm menggunakan user nobody dan bukan user yang saat itu digunakan, dalam hal ini adalah root karena menggunakan sudo.

Berikut ini adalah contoh pesan error-nya


node ./postinstall.js

ngrok - downloading binary https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
ngrok - error storing binary to local file { Error: EACCES: permission denied, open '/usr/lib/node_modules/...'
errno: -13,
code: 'EACCES',
syscall: 'open',

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ngrok@2.2.24 postinstall: `node ./postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ngrok@2.2.24 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Mengatasi npm error ngrok ./postinstall.js  - error storing binary to local file Error: EACCES: permission denied

Solusi dari error ini ternyata sangat mudah, yaitu dengan menabahkan flag/argumen --unsafe-perm

Contoh, jika awalnya adalah

sudo npm install -g @shoutem/cli

maka diubah menjadi

sudo npm install -g @shoutem/cli --unsafe-perm

Apakah fungsi dari flag/parameter --unsafe-perm ? Silahkan cek langsung pada tautan di bagian bawah.

Selamat mencoba.

Sumber : https://docs.npmjs.com/misc/config#unsafe-perm