Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

有的依赖包从本地Publish 403是什么原因? #722

Open
gitfxx opened this issue Oct 31, 2024 · 8 comments
Open

有的依赖包从本地Publish 403是什么原因? #722

gitfxx opened this issue Oct 31, 2024 · 8 comments

Comments

@gitfxx
Copy link

gitfxx commented Oct 31, 2024

内网搭建了一个cnpm源,没有外网,从本地推送依赖有的可以正常推送,有的就报错如下
npm notice Publishing to http://npm.xxx.cn/ with tag latest and default access
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT http://npm.xxx.cn/webpack-virtual-modules - [forbidden] dongmi not authorized to modify webpack-virtual-modules, please contact maintainers: vicvlas
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, or
npm ERR! 403 on a server you do not have access to.
npm ERR! A complete log of this run can be found in: C:\Users\admin\AppData\Local\npm-cache_logs\2024-10-31T08_01_16_498Z-debug-0.log

Copy link

我们已经看到你的反馈,如果是功能缺陷,可以提供一下重现该问题的方式;如果是新功能需求,我们会尽快加入讨论。同时我们非常期待你可以加入我们的贡献者行列,让项目可以长期可持续发展。

@elrrrrrrr
Copy link
Member

[forbidden] dongmi not authorized to modify webpack-virtual-modules, please contact maintainers: vicvlas

这个账户没有这个包的发包权限

@elrrrrrrr
Copy link
Member

如果是管理员的话可以先执行 npm owner add dongmi webpack-virtual-modules

@gitfxx
Copy link
Author

gitfxx commented Oct 31, 2024

image
image

@elrrrrrrr 管理员是不是就是config.js admin块设置的账号,按照提示加了,还是报这个错。

@elrrrrrrr
Copy link
Member

webpack-virtual-modules 是一个公网包? 看看 regisrtry 所有权是否已经迁移到当前 registry

可以访问 ${registryHost}/${pkgName} 返回的 "_source_registry_name" 是否为 "self"

如果不是的话还需要管理员先进行一下写操作才行

@gitfxx
Copy link
Author

gitfxx commented Oct 31, 2024

请教一下大佬 @elrrrrrrr
1、管理员在哪里进行更改为 "self"
2、背景是之前代理的外部源,现在完全切断互联网了,只能通过Publish的方式将缺少的依赖包上传(是否有其他上传的方式)
3、现在测试发现很多包都会报403错误传不上去,是否有全局的配置可进行修改,或者其他方法允许类似操作

@elrrrrrrr
Copy link
Member

elrrrrrrr commented Nov 1, 2024

@gitfxx

🤔 听起来是一个完全私有化的过程?
实际流程还要考虑二级、三级依赖可能会遇到更多问题,如果是单包维护的话目前应该是可以实现的,不过目前仅限管理员可以执行这个流程。需要注意管理员进行覆盖发包后,后续不会继续同步上游变更,这个功能一般是为了应急处理的。

管理员登录

$ npm login --registry=http://127.0.0.1:7001

image

确认 webpack-virtual-modules 存在

image

接下去我们开始操作,下载新版的 .tgz 制品,解压

image
由于本地 npm 发包时会触发 pre-hook,这里为了演示先删除了之前的 "prepack"

管理员操作覆盖发布

$ npm publish --registry=http://127.0.0.1:7001

image

image

@gitfxx
Copy link
Author

gitfxx commented Nov 1, 2024

@elrrrrrrr 通过修改源码解决了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants