Npm опубликовать в Nexus
Я пытаюсь опубликовать пакет npm в нашем личном реестре nexus с помощью этой команды:
npm publish --registry http://localhost:8081/nexus/content/repositories/npmjs
но я получаю эту ошибку:
npm ERR! path C:\Users\USER~1.MAJ\AppData\Local\Temp\npm-13292-e2329f38\tmp\fromDir-e7e42b8d\package.tgz
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'C:\Users\USER~1.MAJ\AppData\Local\Temp\npm-13292-e2329f38\tmp\fromDir-e7e42b8d\package.tgz'
...
npm ERR! Please try running this command again as root/Administrator.
и это моя конфигурация npm (.npmrc):
registry: 'http://localhost:8081/nexus/content/repositories/npmjs/',
_auth: 'YWRtaW46YWRtaW4xMjM=',
'always-auth': true
Как я могу решить это?
Редактировать:
npm -v
: 5.3.0
node -v
: v8.8.0
npm config get registry
: http://localhost:8081/nexus/content/repositories/npmjs
3 ответа
Благодаря @DarthHater я разобрался с решением, поэтому я пытался опубликовать его в хранилище прокси, которое указывало на официальный реестр npm, вместо того, чтобы делать это, я должен создать частное (размещенное) хранилище для своего собственного. пакеты, а затем использовать групповой репозиторий для предоставления всех репозиториев по одному URL, для этого мне пришлось установить репозиторий групп в качестве репозитория по умолчанию (в .npmrc
) и частный репозиторий как репозиторий публикации (в package.json
), и не забудьте указать адрес электронной почты в .npmrc
(любой адрес электронной почты), поэтому при публикации он будет использовать настройки в локальной .npmrc
(аутентификация...) а не настройки в доме .npmrc
,
Вы пытаетесь опубликовать URL-адрес прокси или группы? Я спрашиваю, потому что URL выглядит как прокси-сервер npmjs просто по соглашению об именах. Если это так, убедитесь, что используемый вами URL-адрес предназначен для частного размещенного репозитория.
Также используйте Nexus Repository 3:)
Я думаю, что это на самом деле известная проблема NPM.
В качестве временного исправления, вернитесь к NPM V5.3 npm install npm@5.3 -g