npm publish causes 'Error: EPERM: operation not permitted, unlink ...', errno -4048
Solution 1
Silly me. The answer was in the docs all along.
In order to publish you need to be logged in from your NPM cli.
So either do npm login
if you already have a user on npmjs.com, or npm adduser
to create one.
I would, however, appreciate a more informative error message.
Solution 2
I had the same problem on Windows.
The source of the problem is simple, it is access permission on folders and files. Click here
Solution 3
Here is my experience.
I was working on Atom, and did file drag drop on Atom, it cause error.
So I exit atom on Win10 and run npm i
again. It was successful.
Please turn off your editor or explorer which can restrict your project files and try again.
Comments
-
Vaiden over 2 years
I'm trying to publish my NPM package:
npm publish
.I get the following quite cryptic error:
npm ERR! path c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz npm ERR! code EPERM npm ERR! errno -4048 npm ERR! syscall unlink npm ERR! Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz' npm ERR! at Error (native) npm ERR! { Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz' npm ERR! at Error (native) npm ERR! cause: npm ERR! { Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz' npm ERR! at Error (native) npm ERR! errno: -4048, npm ERR! code: 'EPERM', npm ERR! syscall: 'unlink', npm ERR! path: 'c:\\Temp\\npm-20936-b98f84c8\\tmp\\fromDir-02dd5394\\package.tgz' }, npm ERR! isOperational: true, npm ERR! stack: 'Error: EPERM: operation not permitted, unlink \'c:\\Temp\\npm-20936-b98f84c8\\tmp\\fromDir-02dd5394\\package.tgz\'\n at Error (native)', npm ERR! errno: -4048, npm ERR! code: 'EPERM', npm ERR! syscall: 'unlink', npm ERR! path: 'c:\\Temp\\npm-20936-b98f84c8\\tmp\\fromDir-02dd5394\\package.tgz' } npm ERR! npm ERR! Please try running this command again as root/Administrator.
Tried running as admin - same error.
NPM version: 5.4.0
Node version: 6.11.1
OS: Windows 10
Any leads?
-
Radi Cho almost 6 yearsOh GOD! It worked on my side. I was logged in long time on my main computer... But got this error, because I've changed the password, so.. Thanks! Logging in again worked!
-
Dai Bok over 5 yearsWhat a terrible error message! We managed to get this working by including out private npm repo details a the .npmrc file
-
Kat Lim Ruiz over 5 yearsI didn't find that in the docs, though it is something kind of obvious to do first.
-
duckegg over 5 yearsYes, npm login solved this problem. Misleading message information!
-
Kat Lim Ruiz about 5 yearsdefinitely a better error message is needed! I just struggled a bit with this on a new PC :)
-
Jnr over 4 yearsI get this error when trying to publish a scoped package to our organization's repository (VSTS) not to npm.
-
Amnon over 3 yearsHow is this related to a permission error when attempting to delete a folder?
-
Vaiden over 3 years@Amnon - the correlation is not entirely clear to me as well. A better error log is definitely needed.
-
Amnon over 3 years@vaiden the syscall unlink means a deletion of a file or directory is attempted.
-
Vaiden over 3 years@Amnon yeah but I'm not clear on the correlation with the authentication (login) status.
-
Amnon over 3 yearsNeither do I. Moreover, I don't think it is related to login at all. I think something is locking the file or directory. Possibly the IDE or my employer's antivirus.
-
Vaiden over 3 yearsIn most people's case - it is due to the authentication. A login solves it in the majority of cases.