npm publish вызывает "Ошибка: EPERM: операция не разрешена, отключение связи", errno -4048

Я пытаюсь опубликовать свой пакет NPM: npm publish.

Я получаю следующую довольно загадочную ошибку:

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.

Пробовал работать от имени администратора - та же ошибка.

Версия NPM: 5.4.0

Версия узла: 6.11.1

ОС: Windows 10

Есть зацепки?


person Vaiden    schedule 07.09.2017    source источник
comment
Я просто хочу добавить, что эта проблема также может возникнуть в Windows, если вы используете скрипт Gradle без исключения .gradle в вашем файле .gitignore ... или пытаетесь добавить какой-либо файл блокировки при запуске команды npm pack / publish. Я просто гнался за своим хвостом 12 часов, пытаясь понять это. Дополнительную информацию см. Здесь: nigglingaspirations.blogspot. ru / 2020/09 /.   -  person cjones26    schedule 30.09.2020


Ответы (6)


Я такой глупый. Ответ был в документации все время.

Для публикации вам необходимо войти в систему из своего клика NPM.

Так что либо сделайте npm login, если у вас уже есть пользователь на npmjs.com, либо npm adduser, чтобы создать его.

Однако я был бы признателен за более информативное сообщение об ошибке.

person Vaiden    schedule 07.09.2017
comment
О Боже! Это сработало на моей стороне. Я долгое время входил в систему на своем основном компьютере ... Но получил эту ошибку, потому что я изменил пароль, так что .. Спасибо! Вход снова сработал! - person Radi Cho; 15.06.2018
comment
Какое ужасное сообщение об ошибке! Нам удалось заставить это работать, включив частные детали репозитория npm в файл .npmrc. - person Dai Bok; 22.11.2018
comment
Я не нашел этого в документации, хотя это очевидно, что нужно сделать в первую очередь. - person Kat Lim Ruiz; 07.02.2019
comment
Да, вход через npm решил эту проблему. Информация, вводящая в заблуждение! - person duckegg; 08.02.2019
comment
определенно необходимо лучшее сообщение об ошибке! Я просто немного боролся с этим на новом ПК :) - person Kat Lim Ruiz; 06.04.2019
comment
Я получаю эту ошибку при попытке опубликовать пакет с ограниченной областью видимости в репозитории нашей организации (VSTS), а не в npm. - person Jnr; 06.11.2019
comment
Как это связано с ошибкой разрешения при попытке удалить папку? - person Amnon; 29.11.2020
comment
@Amnon - мне тоже не совсем понятна корреляция. Определенно необходим более качественный журнал ошибок. - person Vaiden; 30.11.2020
comment
@vaiden отключение системного вызова означает попытку удаления файла или каталога. - person Amnon; 30.11.2020
comment
@Amnon, да, но я не совсем понимаю связь со статусом аутентификации (входа в систему). - person Vaiden; 01.12.2020
comment
Я тоже. Более того, я не думаю, что это вообще связано с логином. Я думаю, что что-то блокирует файл или каталог. Возможно, IDE или антивирус моего работодателя. - person Amnon; 01.12.2020
comment
В большинстве случаев это связано с аутентификацией. Логин решает эту проблему в большинстве случаев. - person Vaiden; 02.12.2020

У меня была такая же проблема в Windows.

Источник проблемы прост, это разрешение доступа к папкам и файлам. Нажмите здесь

person Thiago Silva    schedule 08.12.2018

Вот мой опыт.

Я работал над Atom и перетаскивал файл на Atom, это вызывало ошибку. Поэтому я выхожу из Atom на Win10 и снова запускаю npm i. Это было успешно.

Пожалуйста, выключите редактор или проводник, которые могут ограничивать файлы вашего проекта, и попробуйте еще раз.

person smartworld-dm    schedule 27.03.2019

Я перешел на новую файловую систему, перемонтировав диски с Windows. После этого больше никаких проблем. См. Следующую ссылку.

person Lemon    schedule 03.07.2019

В некоторых случаях нужно указать правильный package.json файл. Пропустил параметр в предыдущем, что вызвало ошибку.

Раньше: npm publish

После: npm publish C:\Code\my-proj\dist\@acme\my-package

person SushiGuy    schedule 23.10.2019

Люди, которые все еще борются, проверьте свой файл package.json, если у вас инициализировано что-то вроде publishConfig.
Удаление - вот что решило для меня

person Vishal Arora    schedule 21.02.2021