I am trying install typescript with command npm install -g typescript
, and returns this error :
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/lib/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Linux 4.4.0-93-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "typescript"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! path npm-debug.log.1024969454
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall open
npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'open',
npm ERR! path: 'npm-debug.log.1024969454' }
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! /npm-debug.log
jramirez@jramirez:/$ ^C
jramirez@jramirez:/$ npm install typescript
npm WARN checkPermissions Missing write access to /
/
└── typescript@2.5.2
npm WARN enoent ENOENT: no such file or directory, open '/package.json'
npm WARN !invalid#1 No description
npm WARN !invalid#1 No repository field.
npm WARN !invalid#1 No README data
npm WARN !invalid#1 No license field.
npm ERR! Linux 4.4.0-93-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "typescript"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! path /
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, access '/'
npm ERR! at Error (native) errno: -13, code: 'EACCES', syscall: 'access', path: '/' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Linux 4.4.0-93-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "typescript"
npm ERR! node v6.11.2
npm ERR! npm v3.10.10
npm ERR! path npm-debug.log.2387664261
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall open
npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'open',
npm ERR! path: 'npm-debug.log.2387664261' }
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! /npm-debug.log
Additionaly I run also npm install typescript
(without -g), but doesnt' work, or exists anything other way to install typescript?
My OS is Linux Ubuntu 16.04.
I seldom use node
and don't know like to fix this issue.
My question is : Exactly, what directories needs that permmisions ?
When installing global packages in ubuntu, you need special write permissions as you are writing to the
usr/bin
folder. It is for security reasons.So, everytime you install a global package, use:
sudo npm install -g [package-name]
for your specific case:
sudo npm install -g typescript
When you try it without
-g
all that you are doing is installing the package locally in whatever folder you are in:so:
npm install typescript
will create anode_modules
folder in the folder you are in.I have same issue with webpack server installation on globally, Use steps Solved my issue, my be work for you.
Steps mention above There: Back-up your computer before you start.
Make a directory for global installations:
1.
mkdir ~/.npm-global
Configure npm to use the new directory path:
2.
npm config set prefix '~/.npm-global'
Open or create a ~/.profile file and add this line:
3.
export PATH=~/.npm-global/bin:$PATH
Back on the command line, update your system variables:
4.
source ~/.profile
Test: Download a package globally without using sudo.
npm install -g jshint
Instead of steps 2-4, you can use the corresponding ENV variable (e.g. if you don't want to modify ~/.profile):
NPM_CONFIG_PREFIX=~/.npm-global
1) Go to the directory “/usr/local/lib/node_modules”
2) Click on the folder and right click Get info
3) Click the lock at the bottom right
4) Key in your window password to unlock
5) Check both the value of Wheel and Everyone to Read & Write
6) Go back to your terminal and try to install the Typescript again
Not very sure if this could be the right solution to this problem, but I hope this could help others with similar situation that already tried the following:
node_modules
folder and found nothing wrongsudo npm install <package>
(solution which I do not recommend anyway) with or without-g
and had no expected resultThe solution to this problem pointed out when I noticed that while I was trying to install the
axios
package withnpm
, the directory containing the entire project was opened in Visual Studio Code. So I closed it and retried installation again. Surprise, the installation worked like a charm.For trying to replicate same problem I was using Ubuntu 18.04 LTS on WSL (maybe this has something to do with Windows permissions)
This could be the solution for this question also: Error: EACCES: permission denied, access '/usr/local/lib/node_modules' react
It's not recommended to use sudo with npm install, follow the steps from npmjs official docs instead :)
Make a directory for global installations:
Configure npm to use the new directory path:
Open or create a ~/.profile file and add this line:
Back on the command line, update your system variables:
Test: Download a package globally without using sudo.
this worked for me.
then