typescript - Hur man felsöker 'npm ERR! 403 I de flesta fall begär du eller en av dina beroenden en paketversion som är förbjuden enligt din säkerhetspolicy.'
Jag försöker för närvarande att sätta upp en Jenkins och ett privat npm-register (Sonatype Nexus). Jag får följande fel när jag försöker publicera till registret inom en Jenkins byggpipeline.
+ npm publish --registry https://<my-private-registry>/repository/npm-private/
npm notice
npm notice package: [email
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.
Jag hittar ingen ytterligare information om varför det är förbjudet i Nexus-loggarna och denna öppna GitHub-bugg säger mig att ovanstående felmeddelande leder i fel riktning i de flesta fall?!
Har du någon idé om hur man ska gå till väga för att få publiceringen att fungera?!
Uppdatering 1: Jag såg just att jag har samma problem när jag försöker publicera det manuellt!
Jenkins är ute ur ekvationen av enkelhetsskäl.
Uppdatering 2: Jag kan göra npm adduser --registry... och npm säger till mig
Logged in as <my-user> on https://<my-private-registry>/repository/npm-private/.
När jag kör npm whoami --registry... visas rätt användarnamn.
När jag kör npm publish --registry... i projektet, visas 403-felet.
Svar #1
Om du är som jag och följer Node Cookbook-exemplet, eller något annat exempel där du precis skapade ditt konto, är ditt fel förmodligen som mitt.
Jag hade inte verifierat min e-postadress och fick samma fel (det var ett nytt konto). När jag verifierade fungerade det (även med VPN).
Kontrollera din e-post och verifiera ditt konto.
Svar #2
Detta inträffar främst i två scenarier
Felet kan uppstå på grund av ett *konflikterande paket som är offentligt. Bara byt namn på paketet i
package.jsonoch försök igen!Du kan ha registrerat dig nyligen och glömt att verifiera e-postadressen. Så du kan logga in på denna länk: https://www.npmjs.com/login
I rubriken ser du ett alternativ för att skicka en verifieringslänk till din e-post. När du har slutfört verifieringen, försök att publicera det igen.
Anmärkning: 2) fungerade för mig.
Svar #3
Att uppdatera PACKAGE-VERSION vid publicering löste problemet för mig.
Svar #4
Jag fick samma fel när jag publicerade till JFrog Artifactory. Det berodde på att det redan fanns ett paket med samma namn i arkivet. För att åtgärda detta, antingen ta bort det gamla paketet eller ändra versionen/namnet på det nya.
