Typescript 如何调试&x27;npm错误!403在大多数情况下,您或您的某个依赖项正在请求安全策略禁止的包版本;

Typescript 如何调试&x27;npm错误!403在大多数情况下,您或您的某个依赖项正在请求安全策略禁止的包版本;,typescript,npm,jenkins-pipeline,nexus,Typescript,Npm,Jenkins Pipeline,Nexus,我目前正在尝试建立一个Jenkins和一个私有npm存储库(Sonatype Nexus)。 当我试图在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 ===

我目前正在尝试建立一个Jenkins和一个私有npm存储库(Sonatype Nexus)。 当我试图在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.
当我执行
npmwhoami--registry…
时,它会显示正确的用户名


当我在项目中执行
npm publish--registry…
时,它显示403错误

发现了问题!当我要求一种调试方法时……以下是我所做的:

重要的一点是在Nexus Repository Manager中找到菜单项“Logging”。在这里,您可以简单地更改Nexus包含的每个java包的日志级别

我只是将包的所有日志级别(包括“security”或“rest”)更改为跟踪,并再次触发发布请求。在LogViewer(也是Nexus的一部分)中,我现在看到了理解问题的所有必要信息

在我的例子中,我必须将
nx repository view-*-*-edit
权限添加到我为Jenkins用于登录Nexus的用户创建的角色中。我认为
nx repository view-*-*-add
足够发布了


希望有帮助

我犯了完全相同的NPM错误!403问题,最后通过断开与所有VPN的连接解决了。

如果您像我一样,遵循节点食谱示例,或者您刚刚创建帐户的其他示例,则您的错误可能与我的错误类似

我没有验证我的电子邮件地址,并得到相同的错误(这是一个新帐户)。一旦我验证,它就工作了(甚至在VPN上)


检查您的电子邮件并验证您的帐户。

我在发布到JFrog Artifactory时遇到了相同的错误。这是因为存储库中已经有一个同名的包。为了解决这个问题,要么删除旧软件包,要么更改新软件包的版本/名称。

我也有同样的错误,这似乎掩盖了这些问题。 我通过在package.json中重命名包名解决了这个问题。
如果已经发布了版本,请确保每次发布时都在更新版本。

此错误可能是由于公开的程序包冲突造成的。只需在package.json中更改包的名称,然后重试

通常,我认为添加就足够了,但是如果您正在重新部署(有意或因为CI),则需要edit.hmm,感谢@joedragons的提示,但我已将“禁用重新部署”设置为部署策略。我猜在他试图编辑任何东西之前,这应该失败?!没错。我不确定这是怎么联系的,所以我可能忘记了这篇文章=)谢谢,这解决了我的问题。理想情况下,NPM团队应该在日志文件中写入正确的错误消息。
Logged in as <my-user> on https://<my-private-registry>/repository/npm-private/.