Как отлаживать 'npm ERR! 403 В большинстве случаев вы или одна из ваших зависимостей запрашиваете версию пакета, которая запрещена вашей политикой безопасности. ' - PullRequest
0 голосов
/ 10 июля 2020

В настоящее время я пытаюсь создать Jenkins и частный репозиторий npm (Sonatype Nexus). Я получаю следующую ошибку, когда пытаюсь опубликовать sh в репозитории в конвейере сборки Jenkins.

+ npm publish --registry https://<my-private-registry>/repository/npm-private/
npm notice 
npm notice package: ts-acoustics@0.0.0
npm notice === Tarball Contents === 
npm notice 2.4kB  Jenkinsfile                       
...
('notice' level info about the files)
...
npm notice === Tarball Details === 
npm notice name:          ts-acoustics                            
npm notice version:       0.0.0                                   
npm notice package size:  13.8 kB                                 
npm notice unpacked size: 47.5 kB                                 
npm notice shasum:        554b6d2b41321d78e00f6a309bb61c9181a2e3d6
npm notice integrity:     sha512-QtExdu6IqZ+lH[...]r+HXolo4YCFPg==
npm notice total files:   17                                      
npm notice 
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://<my-private-registry>/repository/npm-private/ts-acoustics
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.

Я не нашел дополнительной информации о том, почему это запрещено в журналах Nexus и this Открытая ошибка GitHub говорит мне, что приведенный выше текст ошибки ведет в неправильном направлении в большинстве случаев?!

Есть идеи, как продолжить публикацию?!

Обновление 1: Я только что увидел, что у меня такая же проблема, когда я пытаюсь опубликовать sh его вручную! Итак, Дженкинс не участвует в уравнении по причинам простоты.

Обновление 2: Я могу npm adduser --registry... и npm сообщает мне

Logged in as <my-user> on https://<my-private-registry>/repository/npm-private/.

Когда я делаю npm whoami --registry..., отображается правильное имя пользователя.

Когда я do npm publish --registry... в проекте, показывает ошибку 403

1 Ответ

0 голосов
/ 10 июля 2020

Нашел проблему! Когда я попросил способ отладки этого ... вот что я сделал:

Важным моментом было найти пункт меню «Ведение журнала» в диспетчере репозитория Nexus. Там вы можете просто изменить уровень журнала для каждого пакета java, из которого состоит Nexus.

Я просто изменил все уровни журнала для пакетов, включая "безопасность" или "отдых", на TRACE и снова инициировал запрос publi sh . В LogViewer (также являющемся частью Nexus) я теперь увидел всю необходимую информацию, чтобы понять проблему.

В моем случае мне пришлось добавить привилегию nx-repository-view-*-*-edit к роли, которую я создал для пользователя, который Дженкинс использует для входа в Nexus. Я думал, что nx-repository-view-*-*-add достаточно для публикации sh.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...