ruby JFrog gem储存库来源URI

mcvgt66p  于 2022-12-12  发布在  Ruby
关注(0)|答案(2)|浏览(130)

我们使用JFrog作为内部包的包/gem注册表。

  • Ruby版本:3.0.3
  • Ruby版本:2.6.5(2019年10月1日补丁级别114)[x86_64-达尔文19]

当我尝试将生成的源代码链接添加到我的gem源代码时

gem source -a https://stephan@company.com:PaSsWoRd@company.jfrog.io/artifactory/api/gems/my-gems/

我收到错误

ERROR:  While executing gem ... (URI::InvalidURIError)
bad URI(is not URI?): "https://stephan@company.com:PaSsWoRd@company.jfrog.io/artifactory/api/gems/my-gems/"

我理解写错了什么,当它是jfrog生成的URI时,这对我来说很奇怪。https://www.jfrog.com/confluence/display/JFROG/RubyGems+Repositories
如果启用匿名访问,而不使用auth部分,一切都正常

gem source -a https://<USERNAME>:<PASSWORD>@company.jfrog.io/artifactory/api/gems/my-gems/

我还尝试手动添加到~/.gemrc

---
:backtrace: false
:bulk_threshold: 1000
:sources:
- https://stephan@company.com:PaSsWoRd@company.jfrog.io/artifactory/api/gems/my-gems/
- https://rubygems.org/
- http://rubygems.org
:update_sources: true
:verbose: true
:concurrent_downloads: 8

它给出了同样的结果
有人偶然发现并解决了它?

jdgnovmf

jdgnovmf1#

这解决了问题,+使用环境变量

source "https://#{CGI::escape(ENV["JFROG_USERNAME"])}:#{ENV["JFROG_PASSWORD"]}@company.jfrog.io/artifactory/api/gems/my-gems/" do
  gem 'my-gem', '0.0.20'
end
bkhjykvo

bkhjykvo2#

用户名有一个@。这看起来是默认的,至少当您使用电子邮件地址创建帐户时是这样。
这将起作用:

gem source -a https://stephan%40company.com:PaSsWoRd@company.jfrog.io/artifactory/api/gems/my-gems/

相关问题