好的,所以我在一个环境中工作,从公共防火墙限制某些用户访问从外部站点下载存档文件。
我想要实现的是设置一个本地的npm存储库并且已经批准了#34;所有开发人员都可以使用的存储库。
我查看了nexus并看到可以向https://registry.npmjs.org添加代理仓库,我可以看到我可以添加HTTP代理凭据。
这让我部分在那里,因为开发人员现在可以通过具有所需访问权限的用户代理从npmjs访问他们想要的任何内容。问题是,我不想让任何人得到任何东西,我只希望nexus去npmjs并为少数几个用户保留本地副本,其他人应该能够从本地缓存中获取包,但如果它不存在那么不代理npmjs。
我是如何实现这一目标的?
答案 0 :(得分:2)
我有同样的问题。问题是Nexus代理不是很聪明 - 没有权限对proxyrepo具有“只读”访问权限(“读取”权限将允许您从代理的第三方存储库中检索缺少的依赖项。)
我“解决”它的方式是保持NPMJS代理私有,并创建一个“策划”的私人仓库,网络中的任何人都可以看到。然后我有一个脚本从NPMJS代理下载NPM模块,并将其发布到策划的私有NPM仓库。该脚本还发布传递依赖(使用'npm list'找到)
这也存在问题 - 如果第三方模块在package.json中定义了“publishConfig”,您将无法将其发布到内部策展库。