You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While trying to install a packge with npm (for example lodash) it fails with error message:
npm ERR! Linux 3.4.0+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "lodash"
npm ERR! node v5.10.1
npm ERR! npm v3.8.3
npm ERR! path /root/test/node_modules/.staging/lodash-9a2aabe2
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rename
npm ERR! Error: EACCES: permission denied, rename '/root/test/node_modules/.staging/lodash-9a2aabe2' -> '/root/test/node_modules/lodash'
npm ERR! at destStatted (/usr/lib/node_modules/npm/lib/install/action/finalize.js:25:7)
npm ERR! at FSReqWrap.oncomplete (fs.js:82:15)
npm ERR!
npm ERR! Error: EACCES: permission denied, rename '/root/test/node_modules/.staging/lodash-9a2aabe2' -> '/root/test/node_modules/lodash'
npm ERR! at Error (native)
npm ERR! [Error: EACCES: permission denied, rename '/root/test/node_modules/.staging/lodash-9a2aabe2' -> '/root/test/node_modules/lodash']
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! /root/test/npm-debug.log
I have tried to install it both with and without starting bash in administrator mode.
Reacted by Serkan Yerşen, Tiberiu Popescu, Val Kotlarov Hoffman, alexey2baranov, jaganjaan, Ken Schnall, Ayman safi, Jonas Hecht, Anthony Falcon, dr2009 and 136 more
There is another wired thing about npm. When I try to install gulp globally I get:
Error: could not get uid/gid
net.js:135
this._handle.open(options.fd);
^
Error: EINVAL: invalid argument, uv_pipe_open
at Error (native)
at new Socket (net.js:135:18)
at createWritableStdioStream (internal/process/stdio.js:142:16)
at process.stdout (internal/process/stdio.js:10:14)
at console.js:99:37
at NativeModule.compile (node.js:395:5)
at Function.NativeModule.require (node.js:340:18)
at node.js:223:27
at Object.<anonymous> (/usr/lib/node_modules/npm/node_modules/uid-number/get-uid-gid.js:16:1)
at Module._compile (module.js:413:34)
at /usr/lib/node_modules/npm/node_modules/uid-number/uid-number.js:37:16
at ChildProcess.exithandler (child_process.js:209:5)
at emitTwo (events.js:100:13)
at ChildProcess.emit (events.js:185:7)
at maybeClose (internal/child_process.js:850:16)
at Socket.<anonymous> (internal/child_process.js:323:11)
at emitOne (events.js:90:13)
at Socket.emit (events.js:182:7)
at Pipe._onclose (net.js:475:12)
Reacted by Tiberiu Popescu, Yehuda Katz, Kevin Danikowski, Kai Xiang Yong, Abhijeet Singh, Eric R., Aaron Agarunov, Christian Saunders and Alvinkariuki
Same here. In fact if I try to update npm update -g npm@latest it attempts to copy lodash to the staging directory then throws the errror. Following this subsequent attempts to use npm are broken because it can no longer find lodash.
IMPORTANT
This really should be of utmost importance to the team. I for one was very excited and love how everything else works, but as you are adding this feature to windows with the intention of bringing web developers back to windows this needs fixing ASAP. This alone will stop me switching back to windows for web development and I'm sure it will be the same for many. It defeats the purpose of switching for me. Please please please fix.
Reacted by Davide Bontempelli, rojorojo, Wayne Crouch, Karl Prieb, Jacqueline, Mickey, ThaJay, Tiberiu Popescu, m4tta, Justin O'Neill and 42 more
Reacted by Amanda Lima, ilyaigpetrov, Carson, Gabriel S. L, Peter Matev, kakas hsiao, Reiy Leo, N8 May, Prashant Sharma, bellaposa and 334 more
Reacted by Travis Webb, microSoftware, Noam Ben Shabat, Kevin L., zino, jeroenouw, Adriana Devera, FireController#1847, Anil V., Zahid Karim Rumi and 173 more
Reacted by Aza Noriega, Kevin Upton, Dexter Brylle, bbattino, Andrew Steinheiser, Behnam, Timo Strating, Kyaw Zin Tun, Youcef MOULAHOUM, BinitaLama and 45 more
Reacted by Gabriel S. L, Vladyslav Chornyi, bellaposa, Jon, Elizaveta Deliatnik, Michael Flores, Aditya, zino, Diego Galocha, Nelson Jiménez and 66 more
Reacted by Mygod, adufa, HarshGuptaSolulab, Maria Clara Bezerra, Michael DePouw, Enric Ribas, Florencia Peretti, Roman, Carlos Martin, Risa K and 14 more
Reacted by Nelson Jiménez , bosssjay, Chellapandi Soundarapandian, Sugar Zhu, Lucas Mota, Jericho Ruz, Ali Kadir Bagcioglu, Guilherme Oliveira, Kevin Upton, bbattino and 90 more
Reacted by Diego Duque, Eli Frigo, TolyaIvanov, Rodrigo Teizen Prado Spinelli, Érick Célio de Melo Guimarães, Cody Tooker, Muhammad Laziem Shafie, Abhilash P, Canis Majoris, Kevin Oliveira and 24 more
Reacted by Muhammad Laziem Shafie, Kanoatov Izzatullo, Rémi Tuyaerts, Mateus Cazuza, basefas, Oleksandr, Roman, Allan Oricil, Carlos Martin, Alexandros Pappas and 9 more
root@localhost:/usr/lib/node_modules/.staging# rename /usr/lib/node_modules/.staging/lodash-24c8c2f4 /usr/lib/node_modules/ember-cli/node_modules/babel-core/node_modules/lodash Bareword found where operator expected at (eval 1) line 1, near "24c8c2f4" (Missing operator before c8c2f4?) Unknown regexp modifier "/b" at (eval 1) line 1, at end of line syntax error at (eval 1) line 1, near "/."
Full disclosure here. Doing a little more testing on our internal build and finding that doing an "npm -g install " still throws the uv_pipe_open error, even when in ~/tmp.
We have someone looking into it.
Reacted by Sebastian Greco, m4tta, Carl DiClementi, Bikash Thapa and Gregory Warner
Reacted by Mark, eric, Huzaifa Ahmad, Timo Strating, Alex Berezhnyk, Nidhi Desai, 顾金跃, Cheng.Lee, Emmanuel Gathage, Puneet Srivastava and 13 more
Reacted by Álex Meseguer, FrankBianDuo, usamaasfar, DorinTzal, Denis, Jesus Angulo, Laberbear, sgohl, nb5p, Reinis Ivanovs and 26 more
Reacted by Mario, Timo Strating, Athif Shaffy, Puneet Srivastava, Cheifsam, Joshua J Wilborn, fahadaldawish, Alexander Valai, Jim Johnston, dobreandrei1 and 9 more
Reacted by dobreandrei1, Sakhri Houssem, Jermaine Walker, Hamza KHAIT and Cássio Fontoura
I needed nodejs@14 but npm@latest and using n to switch to node 14 and then npm i -g npm@latest always resulted in the error
To solve the issue I installed the latest node using n n latest and then export N_PRESERVE_NPM=1 and again n 14 which allowed me to have node v14 with an up to date npm without this weird error
Resolving EACCES permissions errors when installing packages globally
If you see an EACCES error when you try to install a package globally, you can either:
Reinstall npm with a node version manager (recommended),
or
Manually change npm's default directory
Reinstall npm with a node version manager This is the best way to avoid permissions issues. To reinstall npm with a node version manager, follow the steps in "Downloading and installing Node.js and npm". You do not need to remove your current version of npm or Node.js before installing a node version manager.
Manually change npm's default directory
Note: This section does not apply to Microsoft Windows.
To minimize the chance of permissions errors, you can configure npm to use a different directory. In this example, you will create and use hidden directory in your home directory.
Back up your computer.
On the command line, in your home directory, create a directory for global installations:
mkdir ~/.npm-global
Configure npm to use the new directory path:
npm config set prefix '~/.npm-global'
In your preferred text editor, open or create a ~/.profile file and add this line:
export PATH=~/.npm-global/bin:$PATH
On the command line, update your system variables:
source ~/.profile
To test your new configuration, install 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 npx: an alternative to running global commands
If you are using npm version 5.2 or greater, you may want to consider npx as an alternative way to run global commands, especially if you only need a command occasionally. For more information, see this article about npx.
try set prefix out of c disk, such as npm config set prefix '/mnt/f/npm/.npm-global'
I got error with 64 bit node 14,16,17v so i just uninstall this i am not able to create npx create-react-app, so i install 34 bit node latest version now i am able to create react-app my os is 64-bit.
Activity
borovaka commentedon Apr 7, 2016
There is another wired thing about npm. When I try to install gulp globally I get:
jamesscholeyweb commentedon Apr 7, 2016
Same here. In fact if I try to update npm update -g npm@latest it attempts to copy lodash to the staging directory then throws the errror. Following this subsequent attempts to use npm are broken because it can no longer find lodash.
IMPORTANT
This really should be of utmost importance to the team. I for one was very excited and love how everything else works, but as you are adding this feature to windows with the intention of bringing web developers back to windows this needs fixing ASAP. This alone will stop me switching back to windows for web development and I'm sure it will be the same for many. It defeats the purpose of switching for me. Please please please fix.
jgchristopher commentedon Apr 8, 2016
Borislav Anchev (@borovaka) you can fix that error by allowing unsafe perms
npm config set unsafe-perm=truejamesscholeyweb commentedon Apr 8, 2016
Already tried. It bypasses the error but it still doesn't work. You will
get a permissions access error still or at least I did.
On Friday, April 8, 2016, John Christopher notifications@github.com wrote:
jgchristopher commentedon Apr 8, 2016
James Scholey (@jamesscholeyweb) right, I was able to get to your error after setting those perms. Otherwise I wasn't able to do anything.
jgchristopher commentedon Apr 8, 2016
This seems to be the underlying issue.
root@localhost:/usr/lib/node_modules/.staging# rename /usr/lib/node_modules/.staging/lodash-24c8c2f4 /usr/lib/node_modules/ember-cli/node_modules/babel-core/node_modules/lodash Bareword found where operator expected at (eval 1) line 1, near "24c8c2f4" (Missing operator before c8c2f4?) Unknown regexp modifier "/b" at (eval 1) line 1, at end of line syntax error at (eval 1) line 1, near "/."Sparticuz commentedon Apr 8, 2016
Related: MicrosoftDocs/WSL#26
It seems to be an issue with symlinks
jbaribeault commentedon Apr 8, 2016
Confirmed - this is totally related to the symlink issue.
jamespacileo commentedon Apr 11, 2016
Same here with
Here's the output
russalex commentedon Apr 12, 2016
This looks a lot like #3. We can keep the conversation going on there.
What I can say right now is that things are getting better (at least in non-mnt directories.). On my dev box I see:
It goes on from there. I should point out that I have not tried to actually use any of these, I have only installed them.
The team is hard at work getting stuff up and running. Npm is one of those things we're looking at now.
russalex commentedon Apr 14, 2016
Full disclosure here. Doing a little more testing on our internal build and finding that doing an "npm -g install " still throws the uv_pipe_open error, even when in ~/tmp.
We have someone looking into it.
mablae commentedon Apr 16, 2016
This seems also to be a valid issue when running npm in the new Windows 10 Bash
This solved it for me: https://gist.github.com/mattpodwysocki/4e6951fc93adae064a73ed0b2251d180
npm config set unsafe-perm trueI have no idea what it does however.
paseto commentedon Jul 4, 2016
If you are using with -g option, try to remove it.
bitcrazed commentedon Sep 23, 2016
FWIW, installing
lodashas per the OP's request works fine on build 14931!152 remaining items
daalvand commentedon Jul 11, 2021
I removed nodejs
sudo apt remove nodejsthen install nodejs current vestion from this link -> linkcurl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash - sudo apt-get install -y nodejsit worked for me.
Tofandel commentedon Sep 22, 2021
I needed nodejs@14 but npm@latest and using n to switch to node 14 and then npm i -g npm@latest always resulted in the error
To solve the issue I installed the latest node using n
n latestand thenexport N_PRESERVE_NPM=1and againn 14which allowed me to have node v14 with an up to date npm without this weird errorhanzhangyu commentedon Nov 2, 2021
try set prefix out of c disk, such as
npm config set prefix '/mnt/f/npm/.npm-global'vivek0097 commentedon Dec 6, 2021
C:\Users\Dell>npm audit
npm audit report
ansi-regex >2.1.1 <5.0.1
Severity: moderate
Inefficient Regular Expression Complexity in chalk/ansi-regex - GHSA-93q8-gq69-wqmw
fix available via
npm audit fixnode_modules/npm/node_modules/cli-table3/node_modules/ansi-regex
node_modules/npm/node_modules/string-width/node_modules/ansi-regex
strip-ansi 4.0.0 - 5.2.0
Depends on vulnerable versions of ansi-regex
node_modules/npm/node_modules/string-width/node_modules/strip-ansi
string-width 2.1.0 - 4.1.0
Depends on vulnerable versions of strip-ansi
node_modules/npm/node_modules/string-width
3 moderate severity vulnerabilities
To address all issues, run:
npm audit fix
please any one can help to remove this error
iamsriranga commentedon Dec 21, 2021
As of now, I still faced the issue, closing vs code worked for me

vivek0097 commentedon Dec 22, 2021
I got error with 64 bit node 14,16,17v so i just uninstall this i am not able to create npx create-react-app, so i install 34 bit node latest version now i am able to create react-app my os is 64-bit.
akillingbeck89 commentedon Mar 16, 2022
Easiest solution here I found was to just use a node package manager (e.g. NVM), then global installs work fine at least
acongy commentedon Mar 16, 2022
jimbethancourt commentedon Apr 5, 2022
If you're using VS Code and find yourself getting this error message, close VS Code, run the desired command, and restart VS Code, as indicated in https://stackoverflow.com/questions/60853873/eaccess-error-when-installing-packages-on-wsl
gifflet commentedon May 11, 2022
If you installed node from apt-get, uninstall it completely and install it from NVM (Node Version Manager)
Uninstalling node (Ubuntu)
Update apt indexes
sudo apt update && sudo apt upgradeInstall NVM
Finally, install node and npm
acongy commentedon May 11, 2022
Jahongirhacking commentedon Jul 19, 2023
it says:
acongy commentedon Jul 19, 2023
Jahongirhacking commentedon Jul 19, 2023
Thanks it worked
PttRulez commentedon Oct 8, 2023
I have fixed my problem on mac by
sudo chown -R 501:20 "/Users/<my_username>/.npm"